提问人:Chansy 提问时间:12/24/2019 最后编辑:Chansy 更新时间:12/25/2019 访问量:1118
在QT中按线时如何按下默认按钮在小部件中编辑
How to press a default button when by pressing an lineEdit in a WIDGET in QT
问:
我正在使用 QT 4.8 和 C++,我需要一个默认按钮,当在行中输入一些文本时,将按下该按钮编辑并按下 ENTER 键。
根据 QT 文档对按钮的属性“default”。 该行为仅适用于对话框。
“默认按钮行为仅在对话框中提供。当按钮具有焦点时,始终可以通过按空格键从键盘单击按钮。
我怎么能有一个小部件有这种行为,它是我所有 GUI 组件的容器。
谢谢。
答:
1赞
Vladimir Bershov
12/24/2019
#1
您可以将信号 QLineEdit::returnPressed()
连接到插槽 QAbstractButton::click()。
方法 1
在设计器中,您只需:
- 右键单击 lineEdit
- 选择“转到插槽...”
- 选择:
returnPressed()
- 按 ok
- 在代码视图中,您将看到连接到所选信号的插槽
- 您可以简单地调用所需按钮的插槽:
click()
方法 2
您可以手动将任何 lineEdit 的信号连接到任何 pushButton 的插槽:
在 Qt 4 语法中:
connect(ui->lineEdit, SIGNAL(returnPressed()),
ui->anyButton, SLOT(click()));
在新的 Qt 5 语法中:
connect(ui->lineEdit, &QLineEdit::returnPressed,
ui->anyButton, &QPushButton::click);
评论
0赞
Chansy
12/25/2019
谢谢~我尝试了 Method2 Qt4 语法,现在它可以工作了
评论