亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5布局控件QGridLayout詳細(xì)使用方法與實(shí)例

瀏覽:35日期:2022-08-03 15:02:42
PyQt5布局控件QGridLayout簡(jiǎn)介

QGridLayout(網(wǎng)格布局)是將窗口分割成行和列的網(wǎng)格來(lái)進(jìn)行排列,通常可以使用函數(shù)addWidget()將被管理的控件(Widget)添加到窗口中,或者使用addLayout()函數(shù)將布局(layout)添加到窗口中,也可以通過(guò)addWIdget()函數(shù)對(duì)所添加的控件設(shè)置行數(shù)與列數(shù)的跨越,最后實(shí)現(xiàn)網(wǎng)格占據(jù)多個(gè)窗格

QGridLayout類中常用的方法 方法 描述 addWidget(QWidget Widget,int row,int col,int alignment=0) 給網(wǎng)格布局添加部件,設(shè)置指定的行和列,起始位置的默認(rèn)值為(0,0) widget:所添加的控件 row:控件的行數(shù),默認(rèn)從0開(kāi)始 column:控件的列數(shù),默認(rèn)從0開(kāi)始 alignment:對(duì)齊方式 addWidget(QWidget widget,int fromRow,int fromColulmn,int rowSpan,int columnSpan,Qt.Alignment alignment=0) 所添加的的控件跨越很多行或者列的時(shí)候,使用這個(gè)函數(shù) widget:所添加的控件 fromRow:控件的起始行數(shù) fronColumn:控件的起始列數(shù) rowSpan:控件跨越的行數(shù) column:控件跨越的列數(shù) alignment:對(duì)齊方式 setSpacing(int spacing) 設(shè)置軟件在水平和垂直方向的間隔 QGridLayout單一的網(wǎng)格單元格實(shí)例

import sysfrom PyQt5.QtWidgets import QApplication ,QWidget , QGridLayout, QPushButtonclass Winform(QWidget): def __init__(self,parent=None): super(Winform,self).__init__(parent) self.initUI() def initUI(self): #1創(chuàng)建QGridLayout的實(shí)例,并設(shè)置窗口的布局 grid = QGridLayout() self.setLayout(grid) #2創(chuàng)建按鈕的標(biāo)簽列表 names = [’Cls’, ’Back’, ’’, ’Close’, ’7’, ’8’, ’9’, ’/’, ’4’, ’5’, ’6’, ’*’, ’1’, ’2’, ’3’, ’-’, ’0’, ’.’, ’=’, ’+’] #3 在網(wǎng)格中創(chuàng)建一個(gè)位置列表positions = [(i,j) for i in range(5) for j in range(4)] #4 創(chuàng)建按鈕并通過(guò)addWIdget()方法添加到布局中 for position, name in zip(positions, names): if name == ’’: continue button = QPushButton(name) grid.addWidget(button, *position) self.move(300, 150) self.setWindowTitle(’網(wǎng)格布局管理例子’) if __name__ == '__main__': app = QApplication(sys.argv) form = Winform() form.show() sys.exit(app.exec_())

運(yùn)行效果圖如下

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5布局控件QGridLayout詳細(xì)使用方法與實(shí)例

第一組代碼:創(chuàng)建QGridLayout的實(shí)例,并設(shè)置窗口的布局

第二組代碼:創(chuàng)建按鈕的標(biāo)簽列表

第三組代碼:在網(wǎng)格中創(chuàng)建一個(gè)位置列表

第四組代碼:創(chuàng)建按鈕并通過(guò)addWIdget()方法添加到布局中

QGridLayout跨越行和列的網(wǎng)格單元格實(shí)例

import sysfrom PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit, QTextEdit, QGridLayout, QApplication) class Winform(QWidget): def __init__(self,parent=None): super(Winform,self).__init__(parent) self.initUI() def initUI(self): titleLabel = QLabel(’標(biāo)題’) authorLabel = QLabel(’提交人’) contentLabel = QLabel(’申告內(nèi)容’) titleEdit = QLineEdit() authorEdit = QLineEdit() contentEdit = QTextEdit() grid = QGridLayout() grid.setSpacing(10) grid.addWidget(titleLabel, 1, 0) grid.addWidget(titleEdit, 1, 1) grid.addWidget(authorLabel, 2, 0) grid.addWidget(authorEdit, 2, 1) grid.addWidget(contentLabel, 3, 0) grid.addWidget(contentEdit, 3, 1, 5, 1) self.setLayout(grid) self.setGeometry(300, 300, 350, 300) self.setWindowTitle(’故障申告’)if __name__ == '__main__': app = QApplication(sys.argv) form = Winform() form.show() sys.exit(app.exec_())

運(yùn)行效果示意圖如下

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5布局控件QGridLayout詳細(xì)使用方法與實(shí)例

代碼分析

把titleLabel放在QGridLayout布局的第一行第0列

grid.addWidget(titleLabel, 1, 0)  

把titleEditl放在QGridLayout布局的第一行第1列

grid.addWidget(titleEdit, 1, 1)  

把contentLabel放在QGridLayout布局的第3行第0列

grid.addWidget(contentLabel, 3, 0)  

把contentEdit放在QGridLayout布局的第3行第1列,跨越5行1列

grid.addWidget(contentEdit, 3, 1, 5, 1)

本文主要介紹了PyQt5布局控件QGridLayout詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5布局控件知識(shí)請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 黄色网址在线免费观看 | 欧美三级aaa| 色婷婷色99国产综合精品 | 91久久色| 日本免费va毛片在线看大 | 97视频在线观看视频在线精品 | 国产人做人爱视频精品 | 成人a毛片免费视频观看 | 一级做a爱片久久毛片 | 国产精品人成人免费国产 | 日本欧美大码aⅴ在线播放 日本欧美不卡一区二区三区在线 | 欧美成人影院在线观看三级 | 偷窥第一页| 久久制服诱惑 | 日韩毛片久久91 | 欧美a级成人淫片免费看 | 999国产高清在线精品 | 在线免费观看黄视频 | 国产做受视频激情播放 | 黄色片大全在线观看 | 亚洲丁香婷婷综合久久六月 | 国产51| 丝袜足液精子免费视频 | 午夜精品久久久久久久爽 | 国产成人综合高清在线观看 | www色婷婷| 国产大片黄在线看免费 | 久久精品丝袜 | 日日麻批免费视频播放 | 亚洲精品久久久久网站 | 久久婷婷国产综合精品 | 在线视频日韩 | 一级毛片高清免费播放 | 欧美一级做a爰片免费 | 国产精品麻豆网站 | 色综合合久久天天给综看 | 国产伦精品一区二区 | 国产九九热视频 | 国产欧美精品午夜在线播放 | 国产主播一区二区三区 | 中文字字幕 |