PyQt5編程(26):在窗口中布局組件—表單對齊

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( ) - 添加到容器的末尾。格式有:
  1. addRow(QString <wbr>labelText, QWidget field)
  2. addRow(QWidget label, QWidget field)
  3. addRow(QWidget <wbr>widget)
  4. addRow(QString <wbr>labelText, QLayout field)
  5. addRow(QWidget label, QLayout field)
  6. addRow(QLayout <wbr>widget)

<wbr> <wbr> <wbr> 格式1耗帕,4可以通過“&”字母實現(xiàn)與輸入型組件的關聯(lián)穆端。格式2,4則需要通過標簽組件的setBuddy( )方法實現(xiàn)關聯(lián)仿便。

  • insertRow( ) - 添加到容器的指定位置体啰。格式有:
    1. insertRow(int row,QString <wbr>labelText, QWidget field)
    2. insertRow(int row,QWidget label, QWidget field)
    3. insertRow(int row,QWidget <wbr>widget)
    4. insertRow(int row,QString <wbr>labelText, QLayout field)
    5. insertRow(int row,QWidget label, QLayout field)
    6. insertRow(int row,QLayout <wbr>widget)

<wbr> <wbr> <wbr> 格式1,4可以通過“&”字母實現(xiàn)與輸入型組件的關聯(lián)嗽仪。格式2荒勇,4則需要通過標簽組件的setBuddy( )方法實現(xiàn)關聯(lián)。如果參數(shù)1超出范圍闻坚,則添加到容器的末尾沽翔。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市窿凤,隨后出現(xiàn)的幾起案子仅偎,更是在濱河造成了極大的恐慌,老刑警劉巖雳殊,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件橘沥,死亡現(xiàn)場離奇詭異,居然都是意外死亡夯秃,警方通過查閱死者的電腦和手機座咆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門痢艺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人介陶,你說我怎么就攤上這事堤舒。” “怎么了哺呜?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵舌缤,是天一觀的道長。 經(jīng)常有香客問我弦牡,道長友驮,這世上最難降的妖魔是什么漂羊? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任驾锰,我火速辦了婚禮,結果婚禮上走越,老公的妹妹穿的比我還像新娘椭豫。我一直安慰自己,他們只是感情好旨指,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布赏酥。 她就那樣靜靜地躺著,像睡著了一般谆构。 火紅的嫁衣襯著肌膚如雪裸扶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天搬素,我揣著相機與錄音呵晨,去河邊找鬼。 笑死熬尺,一個胖子當著我的面吹牛摸屠,可吹牛的內容都是我干的。 我是一名探鬼主播粱哼,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼季二,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了揭措?” 一聲冷哼從身側響起胯舷,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绊含,沒想到半個月后桑嘶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡艺挪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年不翩,在試婚紗的時候發(fā)現(xiàn)自己被綠了兵扬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡口蝠,死狀恐怖器钟,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情妙蔗,我是刑警寧澤傲霸,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站眉反,受9級特大地震影響昙啄,放射性物質發(fā)生泄漏。R本人自食惡果不足惜寸五,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一梳凛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梳杏,春花似錦韧拒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至劲适,卻和暖如春楷掉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背霞势。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工烹植, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人支示。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓刊橘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親颂鸿。 傳聞我的和親對象是個殘疾皇子促绵,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內容