QPushButton 默认状态

Posted

技术标签:

【中文标题】QPushButton 默认状态【英文标题】:QPushButton Default State 【发布时间】:2015-11-21 02:52:40 【问题描述】:

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

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

【问题讨论】:

在一个疯狂的猜测中,您可以尝试更改标签顺序,或者调整焦点,例如setFocusPolicy 以防止该小部件自动获得焦点。 您可以尝试更改初始化顺序。或setTabOrder(widget1, widget2) 【参考方案1】:

如果您使用 QtDesigner,并选择 QPushButton,请转到 Property Editor 并滚动到底部,将 Default 属性设置为选中 OR 在您的代码中,button.setDefault(True),此功能专门针对您要查找的内容。详情请看here。

【讨论】:

【参考方案2】:

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

    self.pushButton.setFocus()

在 QDialog 的构造函数中并在 pushButton 上安装适当的 eventFilter

【讨论】:

以上是关于QPushButton 默认状态的主要内容,如果未能解决你的问题,请参考以下文章

鼠标在圆角QPushButton时如何不触发悬停状态?

Qt - 获取 QPushButton 图标名称

Pyqt5 Python3 QPushButton 默认 StrongFocus 颜色或选项卡选择颜色

如何基于 QTranslator 更改 QPushButton 的图标字符串

怎样设置Qpushbutton 的大小

更改 QPushbutton 或 QToolbutton 的图标