gpt4 book ai didi

c++ - Qt Creator - UI 类的自定义命名空间

转载 作者:可可西里 更新时间:2023-11-01 15:49:14 29 4
gpt4 key购买 nike

我希望在自己的命名空间中有一个 UI 类,例如 ProjectName::MainWindow。请问有什么方便的方法可以在 Qt Creator 中实现这一点吗?

我可以打开 mainwindow.ui 文件并将“MainWindow”更改为“ProjectName::MainWindow”,这样可以编译并运行。但是当我在 UI 设计器中更改某些内容时,会再次生成 ui 文件...使用错误的类名。

最佳答案

当您创建新的 Designer Form 类时,指定带有命名空间的类名,例如项目名称::主窗口。 Qt Creator 会自动生成如下代码。

MainWindow.h:

namespace ProjectName {
namespace Ui {
class MainWindow;
}
class MainWindow : public QWidget {
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
} // namespace ProjectName

MainWindow.ui:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ProjectName::MainWindow</class>
<widget class="QWidget" name="ProjectName::MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
</widget>
<resources/>
<connections/>
</ui>

如您所见,MainWindowUi::MainWindow 现在都在 ProjectName 命名空间中。

关于c++ - Qt Creator - UI 类的自定义命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17163739/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com