一、網(wǎng)格布局
需要模塊:QGridLayout
代碼文章來源:http://www.zghlxwxcb.cn/news/detail-680221.html
import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QLineEdit, QDesktopWidget, QHBoxLayout, QVBoxLayout, QGroupBox, QRadioButton, QGridLayout
class Windows(QWidget):
def __init__(self):
# 調(diào)用父類的__init__方法(并傳入子類,或?qū)嵗?
super(Windows, self).__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle('計(jì)算器')
# 先定義最外層的垂直布局(水平布局是QHBoxLayout)
container = QVBoxLayout() # 最外層布局器(命名為容器)
# 輸入框
edit = QLineEdit()
edit.setPlaceholderText("請輸入內(nèi)容")
container.addWidget(edit) # 添加進(jìn)目標(biāo)內(nèi)
# 網(wǎng)格布局
grid = QGridLayout()
data = {
0: ["7", "8", "9", "+", "("],
1: ["4", "5", "6", "-", ")"],
2: ["1", "2", "3", "*", "<-"],
3: ["0", ".", "=", "/", "C"]
}
# line_num 是行數(shù),line_data 是行數(shù)據(jù)
for line_num, line_data in data.items():
# col_num是列數(shù) date是數(shù)據(jù)
for col_num, col_data in enumerate(line_data):
btn = QPushButton(col_data)
grid.addWidget(btn, line_num, col_num) # 添加到網(wǎng)格布局
container.addLayout(grid) # 把網(wǎng)格布局放入容器
self.setLayout(container) # 設(shè)置顯示最外層布局器 (布局器的應(yīng)用)
if __name__ == '__main__':
app = QApplication(sys.argv) # 接收參數(shù)(僅有一個)
w = Windows() # 創(chuàng)建一個窗口(繼承了QWindows,并封裝為一個類)
w.show() # 展示窗口
sys.exit(app.exec_()) # 程序進(jìn)入循環(huán)等待,并在退出時關(guān)閉應(yīng)用
文章來源地址http://www.zghlxwxcb.cn/news/detail-680221.html
到了這里,關(guān)于【pyqt5界面化開發(fā)-5】網(wǎng)格布局(九宮格)界面的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!