在 Visual Studio 中将自定义代码添加到 Qt UIC 生成的文件

Posted

技术标签:

【中文标题】在 Visual Studio 中将自定义代码添加到 Qt UIC 生成的文件【英文标题】:Adding custom code to Qt UIC generated file in Visual Studio 【发布时间】:2014-09-05 14:23:50 【问题描述】:

我正在使用带有 Qt 插件的 Microsoft Visual Studio。为了设计我的 UI,我使用 Qt Designer 工具直接获取 .ui 文件,Qt UIC 从中生成 .h 文件。

现在 Qt 设计器有一些缺点,因此现在我想添加我的自定义代码以进一步完善 UI。可以将其直接添加到 Qt UIC 生成的 .h 文件中,但每次我重新编译时,更改都会丢失。

我应该如何将自己的代码添加到 Qt UIC 生成的 .h 文件中?

【问题讨论】:

您将此代码添加到构成或继承生成的 ui 对象的 QWidget。 【参考方案1】:

正如您所观察到的,编辑生成的 .h 文件是一个坏主意,该文件将在重新编译时被覆盖。添加优化代码的一个地方是在构成生成的 UI 对象的类的构造函数中。例如:

// MainWindow.cpp
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)

  ui.setupUi(this);

  // Additional polish      
  ui.textEdit->setText("Hello !");


// MainWindow.h
#include "ui_MainWindow.h" // the generated UI header

class MainWindow : public QMainWindow

  Q_OBJECT
public:
  MainWindow(QWidget *parent = 0);

private:  
  Ui::MainWindowClass ui;
;

【讨论】:

以上是关于在 Visual Studio 中将自定义代码添加到 Qt UIC 生成的文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 2008 中将目录添加到 CAB 项目

如何在 Visual Studio 2017 中自定义折叠

如何在 Visual Studio 2012 中将数据添加到 Access 数据库

Visual Studio 添加 自定义 路径宏

如何在 Visual Studio 中将 Dll 添加到 MFC 应用程序

如何在 Visual Studio 2010 中将数据保存到本地数据库?