【问题标题】:How do I use promote to in Qt Designer in pyqt4?如何在 pyqt4 的 Qt Designer 中使用提升?
【发布时间】:2013-11-06 11:17:59
【问题描述】:

在设计器中,当我右键单击一个小部件并单击提升时,我得到了这个窗口。请参阅下面的屏幕截图。

我从未使用过此功能。基本上,头文件让我感到困惑。它是干什么用的?这是否意味着我可以在这种情况下创建一个新类,继承 QLineEdit 并向它添加更多方法?提升的类名是什么?

【问题讨论】:

标签: python qt pyqt4 designer


【解决方案1】:

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

例如,如果您定义了一个派生自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>

【讨论】:

  • 这是不可思议的黑魔法。 Qt(创建者|设计师)用户体验确实需要明确承认除 C++ 之外的其他语言的存在。需要指定一个 C++ 头文件,其文件类型 pyuicpysideuic 然后默默地忽略,这是特别不可原谅的。
猜你喜欢
  • 2013-06-06
  • 1970-01-01
  • 2011-12-02
  • 2016-07-05
  • 2021-01-19
  • 2017-01-30
  • 1970-01-01
  • 2017-01-21
  • 2020-10-03
相关资源
最近更新 更多