在设计器中,当我右键单击小部件并点击“提升为”,我会得到这个窗口。请参见下面的截图。
我从未使用过这个功能,头文件实际上令我感到困惑。它是干什么用的?这是否意味着在这种情况下我可以创建一个新类,继承QLineEdit并添加更多方法?提升后的类名是什么?
我从未使用过这个功能,头文件实际上令我感到困惑。它是干什么用的?这是否意味着在这种情况下我可以创建一个新类,继承QLineEdit并添加更多方法?提升后的类名是什么?
这样您就可以使用在其他地方定义的自定义小部件,而设计师本来不知道它们的存在。
例如,如果您定义了一个从QLabel
派生的小部件MyLabel
,那么您可以在此处定义它,然后只需在您的UI中插入一个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
默默忽略它的文件类型,这尤其令人无法容忍。 - Cecil Curry