Qt的新功能。你能幫我理解如何連接來自兩個不同行編輯的兩個QString嗎?訪問槽外的變量。傳遞時隙之間的變量。在QT中連接字符串變量
我有一個兩行編輯gui。一個前綴文本和一個數字文本。我想將前綴和數字值合併爲一個字符串。
//connect the line edit slots to signals
QObject::connect(ui->prefixLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(prefixChanged()));
QObject::connect(ui->startNumberLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(startNumChanged()));
//functions to run when line edit is changed
void MainWindow::prefixChanged(){
QString prefixText = ui->prefixLineEdit->text();
}
void MainWindow::startNumChanged(){
QString startNumberText = ui->startNumberLineEdit->text();
//combine prefix and start number??
QString combined = (prefixText + startNumberText);
ui->statusbar->showMessage(combined);
}
我想這個問題一般是我怎樣在插槽之間共享變量?我已經閱讀了QSignalMapper,可能會創建一個代理插槽來傳遞參數,並查看QString的.args()函數。但現在這種情況超出了我的視野。
我是否必須公開這些變量才能將它們從插槽函數中取出?我以爲這是有點皺眉?
任何意見將不勝感激。
您可以擁有私有成員變量,但在您的情況下,您可以使用'ui'變量:'ui-> prefixLineEdit-> text()'從任何'MainWindow'成員函數訪問文本。 – thuga