PyQt5 網格布局 13

2021-07-12 06:16:22 字數 1490 閱讀 5174

學習《pyqt4入門指南 pdf中文版.pdf 》筆記

最通用的布局類別是網格布局(qgridlayout)。該布局方式將視窗空間劃分為許多行和列。要建立該布局方式,我們需要實用qgridlayout類。

#!/usr/bin/python

# gridlayout.py

from pyqt5 import qtwidgets

class gridlayout(qtwidgets.qwidget):

def __init__(self, parent= none):

qtwidgets.qwidget.__init__(self)

self.setwindowtitle('grid layout')

names = ['cls', 'bck','', 'close', '7', '8', '9', '/',

'4', '5', '6', '*', '1', '2', '3', '-', '0', '.', '=', '+']

grid = qgridlayout()

j = 0

pos = [(0, 0), (0, 1), (0, 2), (0, 3),

(1, 0), (1, 1), (1, 2), (1, 3),

(2, 0), (2, 1,), (2, 2), (2, 3),

(3, 0), (3, 1,), (3, 2), (3, 3),

(4, 0), (4, 1,), (4, 2), (4, 3),]

for i in names:

button = qpushbutton(i)

if j == 2:

grid.addwidget(qlabel(''), 0, 2)

else:

grid.addwidget(button, pos[j][0], pos[j][1])

j = j + 1;

self.setlayout(grid)

self.resize(300, 150)

if __name__ == "__main__":

import sys

qb = gridlayout()

qb.show()

在這個示例中,我們建立一組按照網格布局的按鈕。為了填補bck和close按鈕之間的空白,我們使用qlabel部件。

grid= qgridlayout()

該語句建立了乙個網格布局。

if  j == 2:

grid.addwidget(qlabel(''), 0,  2)

else:

grid.addwidget(button, pos[j][0], pos[j][1])

使用addwidget()方法,我們將部件加入到網格布局中。addwidget()方法的引數依次為要加入到區域性的部件,行號和列號。

PyQt5 網格布局2 14

學習 pyqt4入門指南 pdf中文版.pdf 筆記 部件在網格布局中可以跨越多行或者多列。我們將下面的示例中演示該情況。usr bin python gridlayout2.py from pyqt5 import qtwidgets class gridlayout qtwidgets.qwid...

css3網格布局

網格布局是flex的公升級版 父級屬性display grid 即可把這個div變成網格 父級屬性grid template columns 20 20 20 20 設定有多少列,每列有多寬。auto自動填 1fr 2fr 設定比例倍數 父級屬性grid template rows 200px 20...

關於css布局的記錄 二 網格布局

學習來自阮一峰老師的教程網格布局和網路上的一些資料的學習 1 定義 顧名思義,網格布局是將頁面按行 row 和列 column 劃分成乙個個網格來進行布局 使用方法 display grid inline grid來定義乙個容器為網格布局 在定義網格布局的容器裡面的display table cei...