2015-11-21 125 views
0

对话窗口有三个小部件:QComboBox,QLineEdit和QPushButton。 当显示对话框时,QLineEdit默认设置为“当前”。执行的任何键盘输入都将直接输入到QLineEdit字段中。QPushButton默认状态

而不是QLineEdit我希望QPushButton是最新的。所以用户可以敲击键盘的“Enter”键来触发连接到QPushButton的功能。需要设置QPushButton的哪个标志或属性才能实现此目的?

+0

疯狂猜测你可以尝试改变标签顺序,或者焦点摆弄, 'setFocusPolicy'以防止该小部件自动获得焦点。 – 101

+0

您可以尝试更改初始化顺序。或'setTabOrder(widget1,widget2)' – 0rko

回答

1

适当eventFilter如果使用QtDesigner,用QPushButton选择去属性编辑器并滚动至底部,设置默认属性检查或在您的代码中,button.setDefault(True),此功能特别针对您正在寻找的内容。详情请看here

0

我想,你想用eventFilter()来处理keyPressEvent()。那么你只需要

self.pushButton.setFocus() 

在了QDialog的构造并安装按钮