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

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

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

【问题讨论】:

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

标签: python qt pyqt


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

        self.pushButton.setFocus()
    

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

    【讨论】:

      猜你喜欢
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 2017-04-02
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多