diff --git "a/01-HelloWorld-\345\237\272\346\234\254\347\273\223\346\236\204/03-\347\261\273\347\232\204\347\273\247\346\211\277\345\205\263\347\263\273.py" "b/01-HelloWorld-\345\237\272\346\234\254\347\273\223\346\236\204/03-\347\261\273\347\232\204\347\273\247\346\211\277\345\205\263\347\263\273.py" index 46669f2..21e7eca 100644 --- "a/01-HelloWorld-\345\237\272\346\234\254\347\273\223\346\236\204/03-\347\261\273\347\232\204\347\273\247\346\211\277\345\205\263\347\263\273.py" +++ "b/01-HelloWorld-\345\237\272\346\234\254\347\273\223\346\236\204/03-\347\261\273\347\232\204\347\273\247\346\211\277\345\205\263\347\263\273.py" @@ -1,13 +1,19 @@ from PySide6 import QtWidgets +# PySide6 现在懒加载,**类不被访问,就不会出现在`__subclasses__()`**。 +# `__subclasses__()` 做 Qt 继承树遍历这个写法,现在已经不太靠谱,属于旧教程遗留 +# 强制引用几个子类,触发加载到内存 +_ = QtWidgets.QPushButton +_ = QtWidgets.QRadioButton +_ = QtWidgets.QCheckBox +_ = QtWidgets.QToolButton + def get_sub_classes(class_): - """递归地显示某一类的所有子类""" for subclass in class_.__subclasses__(): print(subclass) - if len(subclass.__subclasses__()) > 0: - get_sub_classes(subclass) + get_sub_classes(subclass) -# 查看QAbstractButton抽象基类的所有子类,了解Qt6提供了哪些按钮控件 +app = QtWidgets.QApplication([]) get_sub_classes(QtWidgets.QAbstractButton)