欧美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('申告內(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_())

運行效果示意圖如下

代碼分析

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

相關(guān)文章

  • python使用marshal模塊序列化實例

    python使用marshal模塊序列化實例

    這篇文章主要介紹了python使用marshal模塊序列化的方法,是非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • Django執(zhí)行指定腳本的幾種方法

    Django執(zhí)行指定腳本的幾種方法

    這篇文章主要給大家介紹了關(guān)于Django執(zhí)行指定腳本的幾種方法,文中通過實例代碼介紹的非常詳細,對大家學習或者使用Django具有一定的參考學習價值,需要的朋友可以參考下
    2022-02-02
  • Python3中map(),reduce(),filter()的詳細用法

    Python3中map(),reduce(),filter()的詳細用法

    這篇文章主要介紹了Python3中map(),reduce(),filter()的詳細用法,Python3中的map()、reduce()、filter()?這3個一般是用于對序列進行操作的內(nèi)置函數(shù),它們經(jīng)常需要與?匿名函數(shù)?lambda?聯(lián)合起來使用
    2022-08-08
  • python中的np.argmax() 返回最大值索引號

    python中的np.argmax() 返回最大值索引號

    這篇文章主要介紹了python中的np.argmax() 返回最大值索引號操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python中的整除和取模實例

    Python中的整除和取模實例

    這篇文章主要介紹了Python中的整除和取模實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 深入掌握Python模塊創(chuàng)建導入和使用

    深入掌握Python模塊創(chuàng)建導入和使用

    這篇文章主要為大家介紹了深入掌握Python模塊創(chuàng)建導入和使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Python單向鏈表和雙向鏈表原理與用法實例詳解

    Python單向鏈表和雙向鏈表原理與用法實例詳解

    這篇文章主要介紹了Python單向鏈表和雙向鏈表原理與用法,結(jié)合實例形式詳細分析了單向鏈表與雙向鏈表的概念、原理以及創(chuàng)建、添加、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • Python靜態(tài)類型檢查新工具之pyright 使用指南

    Python靜態(tài)類型檢查新工具之pyright 使用指南

    這篇文章主要介紹了Python靜態(tài)類型檢查新工具之pyright 使用指南,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Python與C/C++的相互調(diào)用案例

    Python與C/C++的相互調(diào)用案例

    這篇文章主要介紹了Python與C/C++的相互調(diào)用案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 全網(wǎng)首秀之Pycharm十大實用技巧(推薦)

    全網(wǎng)首秀之Pycharm十大實用技巧(推薦)

    PyCharm 應該是大多數(shù) python 開發(fā)者的首選 IDE,每天我們都在上面敲著熟悉的代碼,寫出一個又一個奇妙的功能。這篇文章主要介紹了Pycharm十大實用技巧,需要的朋友可以參考下
    2020-04-04

最新評論