我已经在Qt上争论了一段时间了,并且认为我会来这里看看是否有人有任何解决方案。
我使用QT工具创建了一个GUI,并为每个事物编写了所有函数。但是,我似乎无法成功纠正以下问题:
C:\ Python34 \ 2SprayCoater \ mainwindow.cpp:11:错误:没有'int mainwindow :: MainWindow(QWidget *)'成员函数在类'mainwindow'mainwindow :: MainWindow(QWidget * parent)中声明:QMainWindow(parent)
来自该库的代码部分是:
#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);
这最终会产生一系列不同的问题,但修复了原始问题。我错过了什么?提前致谢。
生成问题的原因是您删除了一些必要的标头,例如:
#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]