类中的成员函数声明问题

问题描述 投票:1回答:1

我已经在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);

这最终会产生一系列不同的问题,但修复了原始问题。我错过了什么?提前致谢。

c++ qt qt5 qmainwindow
1个回答
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]
© www.soinside.com 2019 - 2024. All rights reserved.