【发布时间】:2013-11-06 11:17:59
【问题描述】:
在设计器中,当我右键单击一个小部件并单击提升时,我得到了这个窗口。请参阅下面的屏幕截图。
我从未使用过此功能。基本上,头文件让我感到困惑。它是干什么用的?这是否意味着我可以在这种情况下创建一个新类,继承 QLineEdit 并向它添加更多方法?提升的类名是什么?
【问题讨论】:
-
Promote PyQt Widget 的可能重复项
在设计器中,当我右键单击一个小部件并单击提升时,我得到了这个窗口。请参阅下面的屏幕截图。
我从未使用过此功能。基本上,头文件让我感到困惑。它是干什么用的?这是否意味着我可以在这种情况下创建一个新类,继承 QLineEdit 并向它添加更多方法?提升的类名是什么?
【问题讨论】:
这允许您使用其他地方定义的自定义小部件,否则设计者不会知道。
例如,如果您定义了一个派生自QLabel 的小部件MyLabel,那么您可以在此处定义它,然后只需在您的用户界面中插入一个QLabel 作为占位符并将其提升为MyLabel。
然后,uic 编译器将包含必要的导入/包含,例如,如果您将 mypackage/mycomponent.h 指定为头文件并将 MyLabel 指定为类名,则 pyuic 将添加
from mypackage.mycomponent import MyLabel
(注意.h是如何被忽略的,斜杠被pyuic转换为.以保持与python的兼容性)
全局包含被pyuic忽略,它只影响uic(为c++生成#include "mypackage/mycomponent.h"或#include <mypackage/mycomponent.h>)
【讨论】:
pyuic 和 pysideuic 然后默默地忽略,这是特别不可原谅的。