Python个人学习笔记 PyQt5——控件(三)
显示控件
进度条
水平分割线 / 垂直分割线
输入控件
水平滑块 / 垂直滑块
旋钮
水平滚动条 / 垂直滚动条
项目视图
树形视图
项目控件
树形控件
弹簧
水平弹簧 / 垂直弹簧

显示控件(Display Widgets)
进度条(Progress Bar)
常用属性/方法
① minimum / maximum / setMinimum() / setMaximum() / setRange()
设置进度条的最小值/最大值。
setRange()受两个参数,表示进度条的最小值和最大值(闭区间)。
最小值和最大值都设为0,会显示无限循环滚动的状态。

② value
当前值。
③ invertedAppearance
反向显示进度。(不包括文本)
④ layoutDirection
镜像显示进度条。(包括文本)
⑤ format
显示文本格式。(百分号语法)
参数:
%p:显示当前进度的百分比。
%v:显示当前进度的数值。
%m:显示进度条的最大值。
⑥ setProperty()
设置属性值。
第一个参数为属性,第二个参数为值。
常用信号valueChanged

水平分割线(Horizontal Line) / 垂直分割线(Vertical Line)
常用属性
① frameShadow
分割线样式。
② lineWidth
线宽。
③ midLineWidth
中间线宽。
Plain样式没有区别。可以换成其他样式,再增加2种线宽实践一下。
④ orientation
方向。水平和垂直可相互转换。

输入控件(Input Widgets)
水平滑块(Horizontal Slider)/ 垂直滑块(Vertical Slider)
只适用于整数。
常用属性
① singleStep
每次按下方向键移动的值。
② pageStep
每次单击鼠标后移动的值。
③ tracking
True:值跟着鼠标实时改变。改变位置就会发射valueChanged信号。
False:放开鼠标后值才发生变化。
④ orientation
滑块方向。水平和垂直可相互转换。
⑤ invertedControls
按下方向键滑块向反方向移动。
⑥ tickPosition
显示刻度位置。
⑦ tickInterval
刻度间隔。
常用信号
① valueChanged
② sliderPressed
③ sliderMoved
④ sliderReleased

旋钮(Dial)
类似于滑块。
属性
① wrapping
超出最大值后可循环转圈。
② notchesVisible
显示刻度。
③ notchTarget
设置刻度。
常用信号详见滑块。

水平滚动条(Horizontal Scroll Bar) / 垂直滚动条(Vertical Scroll Bar)
相当于没有刻度的滑块。

项目视图(Item Views)
树形视图(Tree View)

常用属性/方法
① setModel()
设置树形视图的模型。必须设置了模型才会显示数据。
具体参数参考附件:
② collapse() / collapseAll()
收缩指定/所有节点。
③ expand() / expandAll()
展开指定/所有节点。
④ alternatingRowColors / setAternatingRowColors()
设置相邻的行是否颜色一样。
⑤ sortingEnabled / setSortingEnabled()
设置点击头部可以排序。
⑥ selectionMode / setSelectionMode()
设置多选模式。
⑦ selectionBehavior / setSelectionBehavior()
设置选中模式(单选、整行、整列)。

项目控件(Item Widgets)
树形控件(Tree Widget)
树形视图的子类,具有树形视图的所有公共方法。
树形控件不需要单独定义和设置数据模型,它直接使用(QtWidgets.)QTreeWidgetItem类表示层次结构中的每个节点。
树形控件的常用属性/方法
① addTopLevelItem() / addTopLevelItems()
添加顶级节点。
② insertTopLevelItem() / insertTopLevelItems()
插入顶级节点。
③ setColumnCount()
设置列数。
QTreeWidgetItem类的常用方法
① addChild()
添加子节点。
② setCheckState()
添加复选框。
QtCore.Qt.Checked:选中状态。
QtCore.Qt.Unchecked:未选中状态。
③ setIcon()
设置图标。
参数为QtGui.QIcon类。


弹簧(Spacer)
水平弹簧(Horizontal Spacer) / 垂直弹簧(Vertical Spacer)
在预览或运行时,弹簧会被隐藏。布局控件中拖入控件时,会自动分配间隔,要手动分配间隔也很麻烦。所以弹簧经常用于放进布局控件中来占位。
▲注意弹簧方向的使用
这样才能调整弹簧高度。

如果被水平弹簧抵住的话,垂直弹簧调整高度也不会变,只会是默认的宽高。

水平方向同理。
