python GUI庫圖形界面開發(fā)之PyQt5表單布局控件QFormLayout詳細使用方法與實例
PyQt5布局控件QFormLayout簡介
QFormLayout是label-field式的表單布局,顧明思議,就是實現(xiàn)表單方式的布局,表單是提示用戶進行交互的一種模式,主要有兩列組成,第一列用于顯示信息,給用戶提示,一般叫做label域,第二列需要用戶進行選擇或輸入,一般叫做field域,label與field的關系就是label關聯(lián)field
QFormLayout表單布局的使用實例
import sys
from PyQt5.QtWidgets import QApplication ,QWidget ,QFormLayout , QLineEdit, QLabel
class Winform(QWidget):
def __init__(self,parent=None):
super(Winform,self).__init__(parent)
self.setWindowTitle("窗體布局管理例子")
self.resize(400, 100)
fromlayout = QFormLayout()
labl1 = QLabel("標簽1")
lineEdit1 = QLineEdit()
labl2 = QLabel("標簽2")
lineEdit2 = QLineEdit()
labl3 = QLabel("標簽3")
lineEdit3 = QLineEdit()
fromlayout.addRow(labl1, lineEdit1)
fromlayout.addRow(labl2, lineEdit2)
fromlayout.addRow(labl3, lineEdit3)
//fromlayout->setRowWrapPolicy(QFormLayout::WrapLongRows);//該參數(shù)通常適用于小屏幕中,當標簽和文本框在本行顯示不全時,文本框會顯示在下一行,使得標簽獨占一行
fromlayout->setLabelAlignment(Qt::AlignLeft);//設置標簽的對齊方式
self.setLayout(fromlayout)
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Winform()
form.show()
sys.exit(app.exec_())
運行效果示意圖

setRowWrapPolicy(RowWrapPolicy policy)函數(shù)的參數(shù)有三個可選項:
QFormLayout::DontWrapRows:該參數(shù)的含義是文本框總是出現(xiàn)在標簽的后面,其中標簽被賦予足夠的水平空間以適應表單中出現(xiàn)的最寬的標簽,其余的空間被賦予文本框。
QFormLayout::WrapLongRows:該參數(shù)通常適用于小屏幕中,當標簽和文本框在屏幕的當前行顯示不全時,文本框會顯示在下一行,使得標簽獨占一行。
QFormLayout::WrapAllRows:該參數(shù)表示標簽總是在文本框的上一行。
分別對應的結果如下:



QFormLayout布局管理器嵌套
根據(jù)AddRow函數(shù)的參數(shù)來看我們在添加表單項除了可以添加Widget組件以外還可以添加其他的布局管理器。
QFormLayout* layout = new QFormLayout();//頂級布局管理器
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中添加表項
layout->addRow("Tel:",vlayout);
layout->setSpacing(10);
setLayout(layout);//設置頂級布局管理器
this->setWindowTitle("FTP");
輸出結果為:

小結
- QFormLayout以表單的形式進行管理界面組件
- 通過使用QFormLayout可以發(fā)現(xiàn)其設置比較簡潔明了
- QFormLayout和QBoxLayout以及QGridLayout一樣都支持布局管理器的嵌套使用
本文主要講解了PyQt5表單布局控件QFormLayout詳細使用方法與實例,更多關于PyQt5布局控件使用方法請查看下面的相關鏈接
相關文章
python使用tkinter打造三維繪圖系統(tǒng)的示例代碼
Python?的?tkinter?模塊是一個常用的?GUI(圖形用戶界面)工具包,它能夠讓你創(chuàng)建窗口應用程序,你可以使用它來構建用戶友好的界面,包括按鈕、標簽、文本框、列表框等各種控件,本文講給大家介紹如何使用tkinter打造三維繪圖系統(tǒng),需要的朋友可以參考下2023-08-08
python數(shù)據(jù)處理——對pandas進行數(shù)據(jù)變頻或插值實例
這篇文章主要介紹了python數(shù)據(jù)處理——對pandas進行數(shù)據(jù)變頻或插值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
使用Python實現(xiàn)批量訪問URL并解析XML響應功能
在現(xiàn)代Web開發(fā)和數(shù)據(jù)抓取中,批量訪問URL并解析響應內容是一個常見的需求,本文將詳細介紹如何使用Python實現(xiàn)批量訪問URL并解析XML響應功能,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下2025-01-01
Python延時變量和free_list鏈表的區(qū)別詳解
延時變量指Python閉包中變量在調用時而非定義時綁定值,可通過默認參數(shù)強制提前綁定,這篇文章主要介紹了Python延時變量和free_list鏈表區(qū)別的相關資料,需要的朋友可以參考下2026-01-01

