我是qt的新手,所以我沒有完全獲得信號插槽機制。 這是我的設置。 Dialog類 MainWindow類(具有lineEdit太)在2個窗口之間傳遞數據。 Qt
我有這樣的(它帶有一個名爲 「lineEdit」 lineEdit對話框):
void MainWindow::keyPressEvent(QKeyEvent *event) {
int i=event->key();
//char z=(char)i;
// connect(ui->lineEdit, SIGNAL(textChanged(QString)), dialog, SLOT(setText(QString)));
if(i>=48&&i<=57)
{
QString s= QString::number(i-'0');
q+=s;
ui->lineEdit->setText(q);
}
我想對話的lineEdit的文本設置爲也是。 我怎麼知道的?
其顯示的錯誤: 的QObject ::連接:不能QLineEdit的:: textEdited(QString的)連接到(空):: seText(S) 我 公共插槽: 無效seText(QString的Q);在我的dialog.h中 和 void Dialog :: seText(QString q) { ui-> qwe-> setText(q); } 在對話框中。cpp –
您確定連接到非空對象嗎?因爲錯誤告訴你,你是。也許你需要在連接之前移動'setupUi'。 –