QFormLayout類用來管理輸入型組件和關聯(lián)標簽組成的Form表單。 默認容器由兩列組成:第一列為關聯(lián)輸出標簽掉弛,第二列為輸入型組件漩蟆。 如果關聯(lián)標簽文本中的某個字母之前有"&"字符(顯示為帶下劃線的字母)蔑滓,則此 通過按組合快捷鍵(Alt + 字母),可將光標移到標簽右側的輸入型組件囱挑。該類的繼承層次結構如下:
(QObject,QLayoutltem) - QLayout - QFormLayout
構造函數(shù)為:
QFormLayout([[QWidget parent])
與QHBoxLayout和QVBoxLayout一樣,不是QWidget類的繼承者旨枯,因此沒有自己的窗口,不能單獨使用混驰。 因此攀隔,容器作為子控件使用。要在構造函數(shù)中指定父組件栖榨。如果沒有昆汹,可將容器作參數(shù),調用父組件的setLayout( )方法婴栽。使用示例:
-- coding: utf-8 --
from PyQt5 import QtWidgets
import sys
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("QFormLayout")
window.resize(300, 150)
lineEdit = QtWidgets.QLineEdit()
textEdit = QtWidgets.QTextEdit()
button1 = QtWidgets.QPushButton("&Send")
button2 = QtWidgets.QPushButton("&Clear")
hbox = QtWidgets.QHBoxLayout()
hbox.addWidget(button1)
hbox.addWidget(button2)
form = QtWidgets.QFormLayout()
form.addRow("&Name:", lineEdit)
form.addRow("&Description:", textEdit)
form.addRow(hbox)
window.setLayout(form)
window.show()
sys.exit(app.exec_())
運行后的效果:
PyQt5編程(26):在窗口中布局組件—表單對齊
該類有以下方法(詳見http://doc.qt.io/qt-5/qformlayout.html):
addRow( ) - 添加到容器的末尾满粗。格式有:
addRow(QString labelText, QWidget field)
addRow(QWidget label, QWidget field)
addRow(QWidget widget)
addRow(QString labelText, QLayout field)
addRow(QWidget label, QLayout field)
addRow(QLayout widget)
格式1,4可以通過“&”字母實現(xiàn)與輸入型組件的關聯(lián)居夹。格式2败潦,4則需要通過標簽組件的setBuddy( )方法實現(xiàn)關聯(lián)。
insertRow( ) - 添加到容器的指定位置准脂。格式有:
insertRow(int row,QString labelText, QWidget field)
insertRow(int row,QWidget label, QWidget field)
insertRow(int row,QWidget widget)
insertRow(int row,QString labelText, QLayout field)
insertRow(int row,QWidget label, QLayout field)
insertRow(int row,QLayout widget)
格式1劫扒,4可以通過“&”字母實現(xiàn)與輸入型組件的關聯(lián)。格式2狸膏,4則需要通過標簽組件的setBuddy( )方法實現(xiàn)關聯(lián)沟饥。如果參數(shù)1超出范圍,則添加到容器的末尾。
<wbr> <wbr> QFormLayout類用來管理輸入型組件和關聯(lián)標簽組成的Form表單贤旷。 <wbr>默認容器由兩列組成:第一列為關聯(lián)輸出標簽广料,第二列為輸入型組件。 如果關聯(lián)標簽文本中的某個字母之前有"&"字符(顯示為帶下劃線的字母)幼驶,則此 通過按組合快捷鍵(Alt + 字母)艾杏,可將光標移到標簽右側的輸入型組件。該類的繼承層次結構如下:
<wbr> <wbr> <wbr>(QObject盅藻,QLayoutltem) - QLayout - QFormLayout
<font face="Microsoft YaHei, Helvetica Neue, SimSun" color="#494949"> <wbr> <wbr> 構造函數(shù)為:</font>
<font face="Microsoft YaHei, Helvetica Neue, SimSun" color="#494949"> <wbr> <wbr> <wbr></font>QFormLayout<font face="Microsoft YaHei, Helvetica Neue, SimSun" color="#494949">([</font>
[QWidget <wbr>
<wbr microsoft="" background-color:="" style="color: rgb(73, 73, 73);">
p
<font face="Microsoft YaHei, Helvetica Neue, SimSun" color="#494949">arent])
<wbr> <wbr> <wbr> <wbr>與QHBoxLayout和QVBoxLayout一樣购桑,不是QWidget類的繼承者,因此沒有自己的窗口氏淑,不能單獨使用勃蜘。 因此,容器作為子控件使用假残。要在構造函數(shù)中指定父組件缭贡。如果沒有,可將容器作參數(shù)辉懒,調用父組件的setLayout( )方法阳惹。使用示例:</font>
<font color="#494949"># -- coding: utf-8 --</font>
from PyQt5 import QtWidgets
import sys
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("QFormLayout")
window.resize(300, 150)
lineEdit = QtWidgets.QLineEdit()
textEdit = QtWidgets.QTextEdit()
button1 = QtWidgets.QPushButton("&Send")
button2 = QtWidgets.QPushButton("&Clear")
hbox = QtWidgets.QHBoxLayout()
hbox.addWidget(button1)
hbox.addWidget(button2)
form = QtWidgets.QFormLayout()
form.addRow("&Name:", lineEdit)
form.addRow("&Description:", textEdit)
form.addRow(hbox)
window.setLayout(form)
window.show()
sys.exit(app.exec_())
運行后的效果:
<wbr> <wbr> <wbr>
<wbr> <wbr> 該類有以下方法(詳見http://doc.qt.io/qt-5/qformlayout.html):
- addRow( ) - 添加到容器的末尾。格式有:
- addRow(QString <wbr>labelText, QWidget field)
- addRow(QWidget label, QWidget field)
- addRow(QWidget <wbr>widget)
- addRow(QString <wbr>labelText, QLayout field)
- addRow(QWidget label, QLayout field)
- addRow(QLayout <wbr>widget)
<wbr> <wbr> <wbr> 格式1耗帕,4可以通過“&”字母實現(xiàn)與輸入型組件的關聯(lián)穆端。格式2,4則需要通過標簽組件的setBuddy( )方法實現(xiàn)關聯(lián)仿便。
- insertRow( ) - 添加到容器的指定位置体啰。格式有:
- insertRow(int row,QString <wbr>labelText, QWidget field)
- insertRow(int row,QWidget label, QWidget field)
- insertRow(int row,QWidget <wbr>widget)
- insertRow(int row,QString <wbr>labelText, QLayout field)
- insertRow(int row,QWidget label, QLayout field)
- insertRow(int row,QLayout <wbr>widget)
<wbr> <wbr> <wbr> 格式1,4可以通過“&”字母實現(xiàn)與輸入型組件的關聯(lián)嗽仪。格式2荒勇,4則需要通過標簽組件的setBuddy( )方法實現(xiàn)關聯(lián)。如果參數(shù)1超出范圍闻坚,則添加到容器的末尾沽翔。