类型判断
API
isWidgetType() 是否是控件类型(继承自QWidget类的)
inherits("父类") 一个对象是否继承(直接或者间接)自某个类
作用:过滤筛选控件。
API Demo
from PyQt5.Qt import *
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QObject learning")
self.resize(500,500)
self.setup_ui()
def setup_ui(self):
self.TypeDetermine()
def TypeDetermine(self):
OBJ=QObject(self)
Lab=QLabel(self)
Btn=QPushButton(self)
print(OBJ.isWidgetType())
print(Lab.isWidgetType())
print(Btn.isWidgetType())
print("***********************************************")
print(OBJ.inherits('QWidget'))
print(Lab.inherits('QWidget'))
print(Btn.inherits('QWidget'))
print("***********************************************")
print(OBJ.inherits('QObject'))
print(Lab.inherits('QObject'))
print(Btn.inherits('QObject'))
if __name__ == '__main__':
app=QApplication(sys.argv)
window=Window()
window.show()
sys.exit(app.exec())
Running result:
D:\mypython\Pyqt5learning\Scripts\python.exe D:/mypython/Pyqt5learning/Dome6.py
False
True
True
***********************************************
False
True
True
***********************************************
True
True
True
Process finished with exit code 0