2014-01-28 36 views
-1

我很新的Qt和我收到此錯誤:Qt的錯誤:預期主表達式前「 - >」令牌

錯誤:預期主表達式前「 - >」令牌

Login::Login(QWidget *parent) : 
    QDialog(parent), 
    ui(new Ui::Login) 
{ 
    ui->setupUi(this); 
} 

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

void Login::on_OK_clicked() 
{ 
    if (Login->lineEdit->textEdited() == "hey") // **ERROR at this line** 
    { 
     QMessageBox::warning(this,tr("Erreur"),tr("Code client incorrect, veuillez réessayer")); 
    } 
} 
+0

您可以發佈一個名爲登錄指針的聲明?即如果(登錄 - > ...等... – Huy

回答

1

當我看到你的登錄界面使用QtDesigner創建。這意味着你必須訪問lineEdit部件是這樣的:

ui->lineEdit->textEdited(); 

和關於你的編譯錯誤:

void QLineEdit::textEdited (const QString & text) [signal]

,你可以看到它的信號,它不返回任何結果。要訪問文本QLineEdit的內部使用:

QString text() const

你的代碼如下:

ui->lineEdit->text(); 
+0

錯誤:沒有匹配函數調用 'QLineEdit的:: textEdited()' 如果(用戶界面 - > lineEdit-> textEdited()== 「哎」) ^ – Madhatter

+0

我已經回答了你的問題 –

+0

只是閱讀文檔真的仔細:http://qt-project.org/doc/qt-4.8/qlineedit.html –

2

登錄是一個類,on_OK_clicked是一個類方法。我假設lineEdit是Login的成員,因此應該使用它來解決。

如果(這個 - > lineEdit-> textEdited()== 「哎」)

+0

我現在得到這個錯誤︰'類登錄'沒有成員名爲'lineEdit' if(this-> lineEdit-> textEdited()==「hey」) ^ – Madhatter

相關問題