我一直在与Qt上的问题争论一段时间,并且我想到这里来看看是否有人有任何解决方案。
我使用QT工具创建了一个GUI,并为每个事物编写了所有功能。但是,我似乎无法成功纠正以下问题:
C:\ Python34 \ 2SprayCoater \ mainwindow.cpp:11:错误:否' int 主窗口::主窗口(QWidget的*)'在类中声明的成员函数 '主窗口'主窗口:: MainWindow的(QWidget的 *亲本):的QMainWindow(父)
来自相关库的代码部分是:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class mainwindow : public QMainWindow
{
Q_OBJECT
public:
explicit mainwindow(QWidget *parent = 0);
~mainwindow();
cpp文件中对此代码的引用是:
#include "mainwindow.h"
#include <QApplication>
#include "main.cpp"
#include <QtSerialPort/QSerialPort>
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
mainwindow::MainWindow(QWidget *parent):QMainWindow(parent)
{
ui.setupUi(this);
}
我试图通过简单地改变显式
来解决这个问题mainwindow(QWidget * parent = 0);
在头文件中
explicit mainwindow(QWidget * parent = 0):QMainWindow(parent);
这最终会产生一系列不同的问题,但修复了原始问题。我错过了什么?提前谢谢。
答案 0 :(得分:1)
生成问题的原因是您删除了一些必要的标题,例如:
#include "ui_mainwindow.h"
这是由.ui文件生成的,即在编译之前将设计转换为代码。 ui属性需要该文件,ui也是一个指针,因此要访问其方法,必须使用->
。你必须改变:
ui.setupUi(this);
到
ui->setupUi(this);
另一个严重问题是您已在构造函数中将mainwindow重命名为MainWindow。
explicit mainwindow(QWidget *parent = 0);
mainwindow::MainWindow(QWidget *parent):QMainWindow(parent)
[here]