QAbstractButton :

前面说的QObject 和 QWidget 是最主要的两个基类。它们都是gui (Graphical User Interface)编程中的控件的共性。下面就说下他们的子类的学习。

PyQt5 控件学习(一个一个学习之QAbstractButton)

但是,学习它们子类的时候,我们不是按照它们的继承关系来学习的,而是按照控件的功能来学习的!

主要分为两部分:基础控件和高级控件

PyQt5 控件学习(一个一个学习之QAbstractButton)

下面看按钮:

我们不是直接学QPushButton ,而是要先学它继承的类----QAbstactButton。

QAbstractButton描述:

PyQt5 控件学习(一个一个学习之QAbstractButton)

PyQt5 控件学习(一个一个学习之QAbstractButton)

它是所有按钮控件的基类,它提供按钮的通用功能。

QAbstractButton抽象类:

我们学习的时候,并不是直接使用这个类别,它是抽象类,我们是借助它的子类来学习的。

它是没法直接使用的。

下面验证它不能直接被使用:

 1 from PyQt5.Qt import * #刚开始学习可以这样一下导入
 2 import sys
 3 #1,创建app
 4 app  = QApplication(sys.argv)
 5 
 6 
 7 #2,控件的操作:
 8 #创建控件
 9 window = QWidget()
10 
11 
12 #设置控件
13 window.setWindowTitle("QAbstractButton的学习")
14 window.resize(500,500)
15 
16 # btn  = QPushButton(window)
17 btn = QAbstractButton(window)
18 btn.setText("按钮")
19 
20 
21 #展示控件
22 window.show()
23 
24 #3,进入消息循环
25 sys.exit(app.exec_())
26 
27 '''
28 TypeError: PyQt5.QtWidgets.QAbstractButton represents a C++ abstract class 
29     and cannot be instantiated
30     报错,这样的c++ 抽象类时无法直接被实例化的。只能被继承使用
31 '''
抽象类不能直接被使用

相关文章: