类型判定的API主要做类型判定,从而达到控件过滤的效果
题目:将控件中的标签设置背景颜色
from PyQt5.Qt import *
class window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("我的窗口")
self.resize(500,500)
self.setup_ui()
def setup_ui(self):
self.judgeType()
#类型判定函数
def judgeType(self):
label1 = QLabel(self)
label1.setText("哈哈哈,我是标签一")
label1.move(100,100)
label2 = QLabel(self)
label2.setText("哈哈哈,我是标签二")
label2.move(150, 150)
btn = QPushButton(self)
btn.setText("我是一个按钮")
btn.move(200, 200)
#从前的实现方法
# for widget in self.findChildren(QLabel):
# print(widget)
##########################################################################
#现在通过调用API来判断
for widget in self.children():
if widget.inherits("QLabel"):
widget.setStyleSheet("background-color:cyan;")
print("是标签")
###############################################################################
if __name__ == '__main__':
import sys
App = QApplication(sys.argv)
win = window()
win.show()
sys.exit(App.exec_())
运行结果: