问题
In the designer when I right click a widget, and I click promote to I get this window. See the screenshot below.
I have never used this feature. Basically, the header file is confusing me. What is it for? Does that mean I can create a new class in this case, inheriting QLineEdit and add more methods to it? What is the promoted class name?
回答1:
This allows you to use custom widgets defined elsewhere, which designer otherwise wouldn't know about.
For example, if you've defined a widget MyLabel
derived from QLabel
, then you can define it here and then just insert a QLabel
as placeholder in your ui and promote it to MyLabel
.
The uic compiler will then include the necessary imports/includes, for example if you specified mypackage/mycomponent.h
as header file and MyLabel
as class name, then pyuic
will add
from mypackage.mycomponent import MyLabel
(note how the .h
is ignored, and slashes are converted to .
by pyuic to keep compatibility with python)
Global include is ignored by pyuic, it only affects uic
(generate #include "mypackage/mycomponent.h"
or #include <mypackage/mycomponent.h>
for c++)
来源:https://stackoverflow.com/questions/19622014/how-do-i-use-promote-to-in-qt-designer-in-pyqt4