将.ui文件添加到QT中的现有类

时间:2017-08-19 17:04:58

标签: c++ qt qt5 qt-designer

有人能告诉我如何将.ui文件添加到Visual中的现有类的步骤吗? 首先我在Visual中添加了一个新项目,然后我选择了" QT Dialog Form File"选项然后我在QT Designer中创建了Dialog Form I。

我的.h文件:

(...)
#include "ui_Serial.h"


class Serial : public QWidget
{
    Q_OBJECT

public:
    Serial(QWidget *parent);
    ~Serial();

    Ui::Serial *ui;
(...)

我的问题是,我无法使用setup ui功能:

Serial::Serial(QWidget *parent)
: QWidget(parent)
{
    serial = new QSerialPort(this);
    ui->setupUi(this);

}

我收到此错误:  无法从' Serial *'转换参数1到QDialog *

我怎么能通过那个? 有任何想法吗? 问候

1 个答案:

答案 0 :(得分:2)

每个模板都有一个默认类,因为在构建.ui时,嵌入了类命令。

  • 如果您使用模板小工具,则您的课程应为QWidget
  • 如果您使用模板带按钮的对话框带按钮的对话框没有按钮的对话框,您的班级应为{{1} }。
  • 如果您使用模板 MainWindow ,则您的课程应为QDialog

因此,我们在您的情况下得出结论,您应该使用继承自QDialog的类:

<强> *的.h

QMainWindow

<强> *。CPP

#include "ui_Serial.h"


class Serial : public QDialog
{
    Q_OBJECT

public:
    Serial(QWidget *parent=0);
    ~Serial();

    Ui::Serial *ui;
}