如何在pyqt4中的Qt Designer中使用promote?

Cia*_*arz 8 python qt designer pyqt4

在设计器中,当我右键单击一个小部件时,我点击提升到我得到这个窗口.请参见下面的截图.

我从未使用过这个功能.基本上,头文件让我很困惑.它是为了什么?这是否意味着我可以在这种情况下创建一个新类,继承QLineEdit并为其添加更多方法?推广的班级名称是什么?

推广小部件

mat*_*ata 16

这允许您使用其他地方定义的自定义小部件,而设计者则不知道这些小部件.

例如,如果您已经定义了MyLabel派生自的窗口小部件QLabel,那么您可以在此处定义它,然后只需QLabel在您的UI中插入一个占位符并将其提升为MyLabel.

然后,uic编译器将包含必要的导入/包含,例如,如果您指定mypackage/mycomponent.h为头文件和MyLabel类名,pyuic则将添加

from mypackage.mycomponent import MyLabel
Run Code Online (Sandbox Code Playgroud)

(注意如何.h忽略,斜杠.由pyuic 转换为与python保持兼容)

pyuic忽略全局包含,它只影响uic(生成#include "mypackage/mycomponent.h"#include <mypackage/mycomponent.h>用于c ++)

  • **这是不可思议的黑魔法.**Qt(Creater | Designer)UX*确实*需要明确承认除C++之外的其他语言的存在.需要指定一个C++头文件,其文件类型`pyuic`和`pysideuic`然后默默地忽略,这是特别不可原谅的. (11认同)