最近在学习PyQt6开发实例,配合同名书本使用。python基础也比较薄弱,经过思考,决定专门开设一个栏目记录全过程,来巩固学习的记忆。由于目前进度到第四章,前面几章后续也会补上,第一次写记录博客,如果记录中有不足的地方,友友们可以踊跃提出~
言归正传,第四章总共分为三部分,分别是控件及其继承类,常用控件,滑动条、进度条、滚动条和旋钮控件。
4.1控件及其继承类
4.1.1控件分类
在Qt Designer窗口部件盒中提供了八大类可视化控件,下图所示,分别是布局控件(Layouts)、分隔控件(Spacers)、按钮控件(Buttons)、表项视图(Item Views)、表项控件(Item Widgets)、容器(Containers)、输入控件(Input Widgets)、显示控件(Display Widgets),在进行界面设计时,能够将个空间拖到窗口上,对控件对象设置属性
4.1.2控件及其属性列表
在Qt Designer中,窗口及其控件对象在“对象检查器”分级列表中显示。当前选择的控件的属性在属性编辑器中显示和设置,如图。
将相关属性属性节点收起后,顶层的节点为空间对应的类及全部父类,而且节点基本上按照父类在上、子类在下的方式排列,提现了类的继承关系以及类对应的属性。
4.1.3控件类和继承类
如果在当前对话框中选择一个控件,就会显示该控件对象对应类和继承的类。 例如:
(1)在对话框窗口中选择单行文本框对象,对应QLineEdit、QWidget和QObject类实现,如图(a)。
(2)在对话框窗口中选择标签对象,对应QLabel、QFrame、QWidget和QObject类属性,如图(b)。
(3)在对话框窗口中选择多行文本框对象,对应QtextEdit、QAbstractScrollArea、QFrame、QWidgwt和QObject类属性,如图(c)。
这边插入知识点 :QFrame类主要用来控制边框的样式,例如凸起凹下、阴影等美化功能;
QAbstractScrollArea类可实现控件内部内容滚动查看;
所有控件除了属于本身的类(例如:单行文本框QLineEdit类),均包含QObject类,QWidget类,按钮类控件还继承QAbstractButton类。
挨个来介绍:
1.QObject类
objectName:控件对象名。在创建时采用系统默认名,用户可以修改成自己喜欢的名字。在窗体内部,通过控件对象名引用控件对象。 代码设置:
2. QWidget类 QWidget类是所有用户界面(包括QMainWindow,QDialog等)对象的基类。窗口控件是用户界面基本元素,它从窗口系统接收鼠标、键盘和其它事件,并且将自己的表现形式绘制在屏幕上。QWidget有很多成员函数,但是它们中的一些有少量的直接功能:例如,QWidget有字体属性,但是自己从来不用,注意为很多继承它的子类使用,比如QLabel、QPushButton、QCheckBox等等。
3. QAbstractButton类主要属性 虽然不同按钮根据不同的使用场景实现不同的功能、不同的表现形式,但它们有共性。按钮的基类是QAbstractButton,提供了按钮的通用性功能。它为抽象类,不能实例化,必须由其他的按钮类继承。
QAbstractButton提供的状态如下:
isDown():提示按钮是否被按下
isChecked():提示按钮是否已经标记
isEnable():提示按钮是否可以被用户点击
isCheckAble():提示按钮是否为可标记的
setAutoRepeat():设置按钮是否在用户长按时可以自动重复执行
QAbstractButton提供的信号如下:
Pressed:当鼠标指针在按钮上并按下左键时触发该信号
Released:当鼠标左键被释放时触发该信号
Clicked:当鼠标左键被按下然后释放时,或者快捷键被释放时触发该信号
Toggled:当按钮的标记状态发生改变时触发该信号