Python個人學(xué)習(xí)筆記 PyQt5——控件(三)
顯示控件
????進(jìn)度條
????水平分割線 / 垂直分割線
輸入控件
????水平滑塊 / 垂直滑塊
????旋鈕
????水平滾動條 / 垂直滾動條
項(xiàng)目視圖
????樹形視圖
項(xiàng)目控件
????樹形控件
彈簧
????水平彈簧 / 垂直彈簧

顯示控件(Display Widgets)
進(jìn)度條(Progress Bar)
常用屬性/方法
① minimum / maximum / setMinimum() / setMaximum() / setRange()
設(shè)置進(jìn)度條的最小值/最大值。
setRange()受兩個參數(shù),表示進(jìn)度條的最小值和最大值(閉區(qū)間)。
最小值和最大值都設(shè)為0,會顯示無限循環(huán)滾動的狀態(tài)。

② value
當(dāng)前值。
③ invertedAppearance
反向顯示進(jìn)度。(不包括文本)
④ layoutDirection
鏡像顯示進(jìn)度條。(包括文本)
⑤ format
顯示文本格式。(百分號語法)
參數(shù):
????%p:顯示當(dāng)前進(jìn)度的百分比。
????%v:顯示當(dāng)前進(jìn)度的數(shù)值。
????%m:顯示進(jìn)度條的最大值。
⑥ setProperty()
設(shè)置屬性值。
第一個參數(shù)為屬性,第二個參數(shù)為值。
常用信號valueChanged

水平分割線(Horizontal Line) /?垂直分割線(Vertical Line)
常用屬性
① frameShadow
分割線樣式。
② lineWidth
線寬。
③ midLineWidth
中間線寬。
Plain樣式?jīng)]有區(qū)別。可以換成其他樣式,再增加2種線寬實(shí)踐一下。
④ orientation
方向。水平和垂直可相互轉(zhuǎn)換。

輸入控件(Input Widgets)
水平滑塊(Horizontal Slider)/ 垂直滑塊(Vertical Slider)
只適用于整數(shù)。
常用屬性
① singleStep
每次按下方向鍵移動的值。
② pageStep
每次單擊鼠標(biāo)后移動的值。
③ tracking
True:值跟著鼠標(biāo)實(shí)時改變。改變位置就會發(fā)射valueChanged信號。
False:放開鼠標(biāo)后值才發(fā)生變化。
④ orientation
滑塊方向。水平和垂直可相互轉(zhuǎn)換。
⑤ invertedControls
按下方向鍵滑塊向反方向移動。
⑥ tickPosition
顯示刻度位置。
⑦ tickInterval
刻度間隔。
常用信號
① valueChanged
② sliderPressed
③ sliderMoved
④ sliderReleased

旋鈕(Dial)
類似于滑塊。
屬性
① wrapping
超出最大值后可循環(huán)轉(zhuǎn)圈。
② notchesVisible
顯示刻度。
③ notchTarget
設(shè)置刻度。
常用信號詳見滑塊。

水平滾動條(Horizontal Scroll Bar) / 垂直滾動條(Vertical?Scroll Bar)
相當(dāng)于沒有刻度的滑塊。

項(xiàng)目視圖(Item Views)
樹形視圖(Tree View)

常用屬性/方法
① setModel()
設(shè)置樹形視圖的模型。必須設(shè)置了模型才會顯示數(shù)據(jù)。
具體參數(shù)參考附件:
② collapse() / collapseAll()
收縮指定/所有節(jié)點(diǎn)。
③ expand() / expandAll()
展開指定/所有節(jié)點(diǎn)。
④ alternatingRowColors / setAternatingRowColors()
設(shè)置相鄰的行是否顏色一樣。
⑤ sortingEnabled / setSortingEnabled()
設(shè)置點(diǎn)擊頭部可以排序。
⑥ selectionMode / setSelectionMode()
設(shè)置多選模式。
⑦ selectionBehavior / setSelectionBehavior()
設(shè)置選中模式(單選、整行、整列)。

項(xiàng)目控件(Item Widgets)
樹形控件(Tree Widget)
樹形視圖的子類,具有樹形視圖的所有公共方法。
樹形控件不需要單獨(dú)定義和設(shè)置數(shù)據(jù)模型,它直接使用(QtWidgets.)QTreeWidgetItem類表示層次結(jié)構(gòu)中的每個節(jié)點(diǎn)。
樹形控件的常用屬性/方法
①?addTopLevelItem() /?addTopLevelItems()
添加頂級節(jié)點(diǎn)。
②?insertTopLevelItem() /?insertTopLevelItems()
插入頂級節(jié)點(diǎn)。
③?setColumnCount()
設(shè)置列數(shù)。
QTreeWidgetItem類的常用方法
① addChild()
添加子節(jié)點(diǎn)。
② setCheckState()
添加復(fù)選框。
QtCore.Qt.Checked:選中狀態(tài)。
QtCore.Qt.Unchecked:未選中狀態(tài)。
③ setIcon()
設(shè)置圖標(biāo)。
參數(shù)為QtGui.QIcon類。


彈簧(Spacer)
水平彈簧(Horizontal Spacer) / 垂直彈簧(Vertical Spacer)
在預(yù)覽或運(yùn)行時,彈簧會被隱藏。布局控件中拖入控件時,會自動分配間隔,要手動分配間隔也很麻煩。所以彈簧經(jīng)常用于放進(jìn)布局控件中來占位。
▲注意彈簧方向的使用
這樣才能調(diào)整彈簧高度。

如果被水平彈簧抵住的話,垂直彈簧調(diào)整高度也不會變,只會是默認(rèn)的寬高。

水平方向同理。
