久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:41日期:2022-08-03 14:38:35
PyQt5布局控件QFormLayout簡(jiǎn)介

QFormLayout是label-field式的表單布局,顧明思議,就是實(shí)現(xiàn)表單方式的布局,表單是提示用戶進(jìn)行交互的一種模式,主要有兩列組成,第一列用于顯示信息,給用戶提示,一般叫做label域,第二列需要用戶進(jìn)行選擇或輸入,一般叫做field域,label與field的關(guān)系就是label關(guān)聯(lián)field

QFormLayout表單布局的使用實(shí)例

import sysfrom PyQt5.QtWidgets import QApplication ,QWidget ,QFormLayout , QLineEdit, QLabelclass Winform(QWidget): def __init__(self,parent=None): super(Winform,self).__init__(parent) self.setWindowTitle('窗體布局管理例子') self.resize(400, 100) fromlayout = QFormLayout() labl1 = QLabel('標(biāo)簽1') lineEdit1 = QLineEdit() labl2 = QLabel('標(biāo)簽2') lineEdit2 = QLineEdit() labl3 = QLabel('標(biāo)簽3') lineEdit3 = QLineEdit() fromlayout.addRow(labl1, lineEdit1) fromlayout.addRow(labl2, lineEdit2) fromlayout.addRow(labl3, lineEdit3) //fromlayout->setRowWrapPolicy(QFormLayout::WrapLongRows);//該參數(shù)通常適用于小屏幕中,當(dāng)標(biāo)簽和文本框在本行顯示不全時(shí),文本框會(huì)顯示在下一行,使得標(biāo)簽獨(dú)占一行 fromlayout->setLabelAlignment(Qt::AlignLeft);//設(shè)置標(biāo)簽的對(duì)齊方式 self.setLayout(fromlayout) if __name__ == '__main__': app = QApplication(sys.argv) form = Winform() form.show() sys.exit(app.exec_())

運(yùn)行效果示意圖

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

setRowWrapPolicy(RowWrapPolicy policy)函數(shù)的參數(shù)有三個(gè)可選項(xiàng):

QFormLayout::DontWrapRows:該參數(shù)的含義是文本框總是出現(xiàn)在標(biāo)簽的后面,其中標(biāo)簽被賦予足夠的水平空間以適應(yīng)表單中出現(xiàn)的最寬的標(biāo)簽,其余的空間被賦予文本框。

QFormLayout::WrapLongRows:該參數(shù)通常適用于小屏幕中,當(dāng)標(biāo)簽和文本框在屏幕的當(dāng)前行顯示不全時(shí),文本框會(huì)顯示在下一行,使得標(biāo)簽獨(dú)占一行。

QFormLayout::WrapAllRows:該參數(shù)表示標(biāo)簽總是在文本框的上一行。

分別對(duì)應(yīng)的結(jié)果如下:

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

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

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

QFormLayout布局管理器嵌套

根據(jù)AddRow函數(shù)的參數(shù)來(lái)看我們?cè)谔砑颖韱雾?xiàng)除了可以添加Widget組件以外還可以添加其他的布局管理器。

QFormLayout* layout = new QFormLayout();//頂級(jí)布局管理器QVBoxLayout* vlayout = new QVBoxLayout();//被嵌套使用的布局管理器QLineEdit* text1 = new QLineEdit();QLineEdit* text2 = new QLineEdit();QLineEdit* text3 = new QLineEdit();vlayout->addWidget(text2);//子管理器布局vlayout->addWidget(text3);layout->addRow('Name:',text1);//往QFormLayout中添加表項(xiàng)layout->addRow('Tel:',vlayout);layout->setSpacing(10);setLayout(layout);//設(shè)置頂級(jí)布局管理器this->setWindowTitle('FTP');

輸出結(jié)果為:

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

小結(jié)

QFormLayout以表單的形式進(jìn)行管理界面組件 通過(guò)使用QFormLayout可以發(fā)現(xiàn)其設(shè)置比較簡(jiǎn)潔明了 QFormLayout和QBoxLayout以及QGridLayout一樣都支持布局管理器的嵌套使用

本文主要講解了PyQt5表單布局控件QFormLayout詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5布局控件使用方法請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 九龙县| 菏泽市| 唐河县| 安塞县| 峨眉山市| 武冈市| 收藏| 沙湾县| 民县| 邻水| 名山县| 藁城市| 广灵县| 双鸭山市| 兰考县| 景洪市| 萨嘎县| 广南县| 岢岚县| 前郭尔| 托克托县| 天津市| 班玛县| 旺苍县| 乐安县| 扬中市| 东港市| 土默特右旗| 海林市| 平昌县| 邳州市| 东乌| 宁陵县| 西青区| 蓬莱市| 舟曲县| 石泉县| 芮城县| 柘荣县| 邵东县| 桂平市|