最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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 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的實(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)行效果圖如下

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

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

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

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

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

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('標(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)行效果示意圖如下

代碼分析

把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)鏈接

相關(guān)文章

  • python使用marshal模塊序列化實(shí)例

    python使用marshal模塊序列化實(shí)例

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

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

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

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

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

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

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

    Python中的整除和取模實(shí)例

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

枞阳县| 茂名市| 新营市| 泸西县| 海城市| 都昌县| 宣威市| 城口县| 炉霍县| 米易县| 乐都县| 莱州市| 即墨市| 遵义县| 浦县| 永兴县| 禹城市| 清原| 威信县| 军事| 临江市| 高清| 彭州市| 丰县| 铜鼓县| 石柱| 衡山县| 平泉县| 会东县| 闽清县| 夏河县| 金昌市| 旺苍县| 交城县| 绥阳县| 卢湾区| 兴义市| 内丘县| 吉首市| 斗六市| 吴江市|