2017-07-01 5 views
-1

Ich habe eine Qt Ui als Zeiger als Mitglied. Wenn ich versuche, das Mitglied in der cpp zuzuweisen oder zu verwenden, funktioniert es nicht.Mitglied konnte nicht verwendet werden, weil "poiner-to-incomplete"

Es gibt einige zusätzliche Code, die ich nicht zeigen, weil es nicht relevant ist.

Krypto.h:

#pragma once 
#include <ui_krypto.h> 
#include <QMainWindow> 

class Krypto : public QMainWindow 
{ 
    Q_OBJECT 
public: 
    Krypto(QWidget * parent = NULL); 
    ~Krypto(); 

private: 
    Ui::Krypto * Ui = NULL; //This is the Obj which couldn`t be used 
}; 

Krypto.cpp:

#include "Krypto.h" 

Krypto::Krypto(QWidget *parent) : 
    QMainWindow(parent) 
{ 
    ui = new Ui::Krypto(); //This don`t work 
    ui->setupUi(this); //And this don`t work 
} 

Krypto::~Krypto() 
{ 
    delete ui; 
} 

ui_krypto.h:

class Ui_Krypto 
{ 
public: 
    QAction *actionCode_Encode; 
    QAction *actionKey; 
    QWidget *centralWidget; 
    QGroupBox *CodeEncodegroupBox; 
    QTextEdit *textausgabe; 
    QTextEdit *texteingabe; 
    QComboBox *CBAuswahl; 
    QCommandLinkButton *ReadyButton; 
    QLineEdit *KeyCodelineEdit; 
    QLabel *label; 
    QGroupBox *KeygroupBox; 
    QPushButton *gKeypushButton; 
    QLineEdit *keylineEdit; 
    ... 
    void setupUi(QMainWindow *Krypto) 
    { 
    ... 
    } 
} 
namespace Ui { 
    class Krypto: public Ui_Krypto {}; 
} // namespace Ui 

Sorry für die Deutsch Sprache, aber ich Hafen `t die Einstellungen gefunden dafür. Hier sind die Ausfälle: Failures

+0

Was bedeutet "nicht funktionieren" genannt werden? –

+0

Also, was ist in ''? Sieht so aus, als ob die Ui :: Krypto-Klassendefinition fehlt. – VTT

+0

Klingt wie 'Ui :: Krypto' ist nur eine Vorwärtsdeklaration von' '. –

Antwort

-1

Ihre Klasse Mitglied sollte 'ui' nicht 'Ui'

class Krypto : public QMainWindow 
{ 
    ... 

private: 
    Ui::Krypto * ui = NULL; 
}; 
+0

(ohne Klammer) funktioniert nicht und es gibt keinen überladenen Konstruktor, der QWidget oder QMainwindow akzeptiert – WiKoGT72

+0

@ WiKoGT72 Grünes Häkchen auf der linken Seite soll auf eine richtige Antwort gesetzt werden, die Ihr Problem gelöst hat. Wenn dieser nicht hilft, sollten Sie ihn entfernen. – HolyBlackCat

+0

Es hat mir geholfen! Ich habe einen einfachen Fehler gemacht – WiKoGT72

Verwandte Themen