2017-07-04 7 views
0

でのメンバ関数の宣言に関する問題。Qtの創造主:私は今しばらくのQt上問題と戦ってきたと私は誰もが任意のソリューションを持っていたかどうかを確認するために、ここで来るはずと考えたクラス

私はQTツールを使用してGUIを作成しましたし、それぞれのもののためのすべての機能をプログラムしました。しかし、私は成功し、次の問題を是正するために見えることはできません。

C:\Python34\2SprayCoater\mainwindow.cpp:11: error: no 'int mainwindow::MainWindow(QWidget*)' member function declared in class '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);

にヘッダファイル内

。私は何が欠けていますか?前もって感謝します。あなたは、たとえば、いくつかの必要なヘッダを削除したので

+0

なぜmain.cppをmainwindow.cppに含めますか? – eyllanesc

+0

私はそれを他の方法で行うと、シリアルポートの初期化でエラーをコンパイルすることがわかりました。 mainwindow.cppにmain.cppを含めて、それを固定して参照してください。 –

+0

github、ドライブなどでプロジェクト全体を共有できます。 – eyllanesc

答えて

1

問題が生成されます。デザインは、それをコンパイルする前に、コードに変換される。すなわち

#include "ui_mainwindow.h" 

これは、.uiファイルによって生成されます。 ui属性にはそのファイルが必要です。また、uiはそのメソッドにアクセスするためのポインタなので、->を使用する必要があります。あなたは変更する必要があります。

ui.setupUi(this); 

ui->setupUi(this); 

へのもう一つの重大な問題は、コンストラクタでメインウィンドウするメインウィンドウの名前を変更したということです。

explicit mainwindow(QWidget *parent = 0); 

mainwindow::MainWindow(QWidget *parent):QMainWindow(parent) 
      [here] 
関連する問題

 関連する問題