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

时间:2014-09-05 14:23:50

标签: c++ qt visual-studio-2012

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

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

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

1 个答案:

答案 0 :(得分:2)

正如您所观察到的,编辑生成的.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;
};