谁能告诉我如何将 .ui 文件添加到 Visual 中的现有类中的步骤吗? 首先,我在 Visual 中添加了一个新项目,然后选择“QT Dialog Form File”选项,然后在 QT Designer 中创建了我想要的对话框表单。
我的.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);
}
我收到此错误: 无法将参数 1 从“Serial *”转换为“QDialog *
”我怎样才能通过这个? 有任何想法吗? 问候
最佳答案
每个模板都有一个默认类,因为在构建 .ui 时,会嵌入类命令。
- 如果您使用模板Widget,您的类应该是
QWidget
。 - 如果您使用模板Dialog with Buttons Bottom、Dialog with Buttons Right、Dialog without Buttons,您的类应该是
QDialog
。 - 如果您使用模板MainWindow,您的类应该是
QMainWindow
。
因此,根据您的情况,我们得出的结论是您应该使用继承自 QDialog 的类:
*.h
#include "ui_Serial.h"
class Serial : public QDialog
{
Q_OBJECT
public:
Serial(QWidget *parent=0);
~Serial();
Ui::Serial *ui;
}
*.cpp
Serial::Serial(QWidget *parent):QDialog(parent)
{
serial = new QSerialPort(this);
ui->setupUi(this);
}
关于c++ - 将 .ui 文件添加到 QT 中的现有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45774187/