欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年03月06日 13:06:39   作者:jia666666  
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5布局控件QGridLayout詳細使用方法與實例,需要的朋友可以參考下

PyQt5布局控件QGridLayout簡介

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

QGridLayout類中常用的方法

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

QGridLayout單一的網(wǎng)格單元格實例

import sys
from PyQt5.QtWidgets import QApplication ,QWidget , QGridLayout, QPushButton
class Winform(QWidget):
  def __init__(self,parent=None):
    super(Winform,self).__init__(parent)
    self.initUI()
  def initUI(self):      
    #1創(chuàng)建QGridLayout的實例,并設置窗口的布局
    grid = QGridLayout() 
    self.setLayout(grid) 
    #2創(chuàng)建按鈕的標簽列表
    names = ['Cls', 'Back', '', 'Close', 
         '7', '8', '9', '/', 
        '4', '5', '6', '*', 
         '1', '2', '3', '-', 
        '0', '.', '=', '+'] 
    #3 在網(wǎng)格中創(chuàng)建一個位置列表    
    positions = [(i,j) for i in range(5) for j in range(4)] 
    #4 創(chuàng)建按鈕并通過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_())

運行效果圖如下

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

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

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

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

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

import sys
from 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('標題') 
    authorLabel = QLabel('提交人') 
    contentLabel = QLabel('申告內容') 
    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_())

運行效果示意圖如下

代碼分析

把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詳細使用方法與實例,更多關于PyQt5布局控件知識請查看下面的相關鏈接

相關文章

  • Python讀取Excel一列并計算所有對象出現(xiàn)次數(shù)的方法

    Python讀取Excel一列并計算所有對象出現(xiàn)次數(shù)的方法

    這篇文章主要給大家介紹了關于Python讀取Excel一列并計算所有對象出現(xiàn)次數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • python爬蟲之場內ETF基金獲取

    python爬蟲之場內ETF基金獲取

    這篇文章主要介紹了python爬蟲之場內ETF基金獲取,ETF?是一種場內交易型基金,可以在盤中進行交易,交易性比場外基金強一點,下文基于python的相關資料展開,需要的小伙伴可以參考一下
    2022-05-05
  • Python輕松寫個課堂隨機點名系統(tǒng)

    Python輕松寫個課堂隨機點名系統(tǒng)

    現(xiàn)在的學生大部分都很積極,會主動舉手回答問題。但是,也會遇到一些不好的情況,比如年級越高主動舉手的人越少,所以本文寫了一個隨機的學生點名系統(tǒng)可以幫老師解決這些問題
    2023-01-01
  • 淺談Python協(xié)程asyncio

    淺談Python協(xié)程asyncio

    今天給大家?guī)淼氖顷P于Python的相關知識,文章圍繞著Python協(xié)程展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 用python寫一個福字(附完整代碼)

    用python寫一個福字(附完整代碼)

    大家好,本篇文章主要講的是用python寫一個福字(附完整代碼),感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python使用Scrapy保存控制臺信息到文本解析

    Python使用Scrapy保存控制臺信息到文本解析

    這篇文章主要介紹了Python使用Scrapy保存控制臺信息到文本解析,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • Python 實現(xiàn)Image和Ndarray互相轉換

    Python 實現(xiàn)Image和Ndarray互相轉換

    今天小編就為大家分享一篇Python 實現(xiàn)Image和Ndarray互相轉換,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python實現(xiàn)端口掃描器的示例代碼

    Python實現(xiàn)端口掃描器的示例代碼

    本文主要介紹了Python實現(xiàn)端口掃描器,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • python如何將空格分隔輸入兩個數(shù)

    python如何將空格分隔輸入兩個數(shù)

    這篇文章主要介紹了python如何將空格分隔輸入兩個數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python常用的內置序列結構(列表、元組、字典)學習筆記

    Python常用的內置序列結構(列表、元組、字典)學習筆記

    序列指元素排成一列的數(shù)據(jù)結構,Python中有l(wèi)ist列表而沒有默認內置array數(shù)組,以下我們來整理一下Python常用的內置序列結構(列表、元組、字典)學習筆記
    2016-07-07

最新評論