2013-08-07 63 views
0

我正在創建一個可以更改顯示消息的popuo窗口。我有下一類Qt無法將標籤修改爲deii

class NoPutPort : public QDialog, public Ui::NoPortPut 
{ 
Q_OBJECT; 
public: 
    NoPutPort(QWidget *parent=0) { 
    setupUi(this); 
} 

~NoPutPort(void) {} 

void putPort(QString a){ 
    ui.label_2->setText(a); 
} 

private: 
Ui::NoPortPut ui; 
}; 

問題如果當我調用方法putPort,應用程序崩潰,我不知道爲什麼。如果我把ui.label_2,它不會崩潰,但當我訪問該對象來修改它,它會崩潰。

任何人都知道如何正確修改標籤?

回答

3

你搞砸了代碼。它應該是:

class NoPutPort : public QDialog 
{ 
Q_OBJECT; 
public: 
    NoPutPort(QWidget *parent=0) { 
    ui.setupUi(this); 
} 

~NoPutPort(void) {} 

void putPort(QString a){ 
    ui.label_2->setText(a); 
} 

private: 
    Ui::NoPortPut ui; 
}; 

XOR

class NoPutPort : public QDialog, public Ui::NoPortPut 
{ 
Q_OBJECT; 
public: 
    NoPutPort(QWidget *parent=0) { 
    setupUi(this); 
} 

~NoPutPort(void) {} 

void putPort(QString a){ 
    label_2->setText(a); 
} 
}; 
+0

謝謝!現在它完美地工作。感謝您的時間^^ – Elseine