[英]How to enter a character to QLineEdits from QPushButtons depending on the focus in Qt
我正在使用Qt Creator制作UI。
UI由兩個或多個QLineEdit
和十個QPushButton
組成,以向QLineEdit
輸入0到9的數字字符。 如何在兩個QLineEdit
一一輸入0-9數字string
。
如果我按標簽為'5'的QPushButton
且光標位於QLineEdit
(例如QLineEdit
1)上,則應在QLineEdit
1中附加'5';如果選擇了QLineEdit
2,則應在QLineEdit
2中以及其他QPushButton
附加'5'。也。
您可以在ui類中有一個slot
,如下所示
void MyDialog::numberButtonPressed()
{
QPushButton* btn = qobject_cast<QPushButton*>(QObject::sender());
if (!btn)
return; // TODO error handling
ui.lineEdit->setText(ui.lineEdit->text() + btn->text());
}
然后QObject::connect
所有數字按鈕QObject::connect
到該slot
。
干杯
在QT Creator中,將按鈕添加到UI中的插槽后,轉到函數並使用hasFocus()檢查它是否具有焦點。
例如
void MainWindow::on_pushButton_clicked()
{
if(ui->lineEdit_1->hasFocus)
{
ui->lineEdit_1->setText("your text");
}
else if(ui->lineEdit_2->hasFocus)
{
ui->lineEdit_2->setText("your text");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.