2

我想使用一个用户定义的类,而不是在Ui_MainWindow类中生成 Qt,以便我可以在 Qt 的 GUI 设计器上使用该控件。例如,目前它被定义为:

class Ui_MainWindow
{
public:
    QPlainTextEdit *list;
 // ...
};

我想使用我的用户定义类:

class Ui_MainWindow
{
public:
    MyCustomQPlainTextEdit *list;
 // ...
};

我不能只在 ui_mainwindow.h 头文件中手动修改它,因为每次 GUI 设计器生成其元数据时,该值都会丢失。我可以阻止 Qt 使用该类以便我可以使用自己的类吗?

4

1 回答 1

4

如果您MyCustomQPlainTextEdit继承自QPlainTextEdit您,则可以将 ui 文件中的小部件“提升”到您的自定义类。

在 Qt Creator 中打开您的 ui 文件,右键单击小部件并选择Promote To

[在此处输入图像描述]

然后在打开的对话框中,添加您的自定义类,如下所示:

[在此处输入图像描述]

如果需要,请务必根据项目的设置方式更改头文件的路径。然后单击Add

添加自定义类后,单击Promote并瞧,您的自定义类在生成的ui_<blah>.h.

于 2018-03-22T15:08:17.457 回答