相關(guān)推薦
您可能對(duì)下面課程感興趣
Python上位機(jī)開(kāi)發(fā)教程

99小節(jié)已有4502人學(xué)過(guò)

Python上位機(jī)開(kāi)發(fā)QFormLayout表單布局
發(fā)布時(shí)間:2024-11-20 10:00 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 快樂(lè)小女 閱讀: 76

'''
QFormLayout(表單布局)是一種用于創(chuàng)建兩列布局的類,通常用于顯示具有標(biāo)簽和相應(yīng)輸入字段的表單式界面。

基本結(jié)構(gòu):
QFormLayout 將界面分為兩列,一列用于顯示標(biāo)簽(如“用戶名”、“密碼”等),
另一列用于對(duì)應(yīng)的輸入控件(如 QLineEdit、QComboBox 等)。

常用方法:

addRow(label, [widget,layout]) 方法添加一行,其中 label 是一個(gè) QLabel 對(duì)象或字符串表示的標(biāo)簽文本,
setRowWrapPolicy()跨越多行:某些控件可能需要跨越多行,例如一個(gè)大的文本編輯區(qū)域,
可以使用 該方法來(lái)設(shè)置行的換行策略。
rowCount():獲取總行數(shù)

間距和邊距:
可以像其他布局一樣,使用 setSpacing 來(lái)設(shè)置控件之間的間距,使用 setContentsMargins 來(lái)設(shè)置布局的邊距。

'''



from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        # self.resize(300,300)
        self.setWindowTitle("QFormLayout表單布局")
        self.setStyleSheet("font-size:20px;color:red")


        self.label_user = QLabel("用戶名:")
        self.label_pwd = QLabel("年齡:")

        self.le_user = QLineEdit()
        self.le_pwd = QLineEdit()

        self.btn = QPushButton("確定")

        h_layout = QHBoxLayout()
        radio = QRadioButton("男")
        radio2 = QRadioButton("女")
        h_layout.addWidget(radio)
        h_layout.addWidget(radio2)



        #創(chuàng)建一個(gè)表單布局器
        form_layout = QFormLayout()

        # 表單布局器添加控件
        # form_layout.addRow(self.label_user,self.le_user)
        # form_layout.addRow(self.label_pwd,self.le_pwd)

        form_layout.addRow("用戶名:", self.le_user)
        form_layout.addRow("密 碼:", self.le_pwd)
        form_layout.addRow("性別:",h_layout)

        form_layout.addRow(self.btn)
        form_layout.setSpacing(30)
        form_layout.setContentsMargins(30,50,30,30)
        # form_layout.setRowWrapPolicy(QFormLayout.RowWrapPolicy.WrapAllRows)
        form_layout.setFieldGrowthPolicy(QFormLayout.FieldGrowthPolicy.FieldsStayAtSizeHint)

        # form_layout.addWidget(self.label_user)
        # form_layout.addWidget(self.le_user)







        #給窗口設(shè)置布局器
        self.setLayout(form_layout)







if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = Window()
    win.show()
    sys.exit(app.exec())

文章評(píng)論
0 條評(píng)論 按熱度排序 按時(shí)間排序 /350
添加表情
遵守中華人民共和國(guó)的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭(zhēng)議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部
相關(guān)推薦
您可能對(duì)下面課程感興趣
Python上位機(jī)開(kāi)發(fā)教程

99小節(jié)已有4502人學(xué)過(guò)

分類選擇:
電腦辦公 平面設(shè)計(jì) 室內(nèi)設(shè)計(jì) 室外設(shè)計(jì) 機(jī)械設(shè)計(jì) 工業(yè)自動(dòng)化 影視動(dòng)畫 程序開(kāi)發(fā) 網(wǎng)頁(yè)設(shè)計(jì) 會(huì)計(jì)課程 興趣成長(zhǎng) AIGC