【发布时间】:2021-04-02 20:23:40
【问题描述】:
我设计了包含许多按钮的 UI 屏幕,我想选择或可以说想使用 Tab 键控制应用程序。当我选择任何特定键时,它应该相应地更改该按钮的颜色。
【问题讨论】:
我设计了包含许多按钮的 UI 屏幕,我想选择或可以说想使用 Tab 键控制应用程序。当我选择任何特定键时,它应该相应地更改该按钮的颜色。
【问题讨论】:
据我所知,默认情况下,使用 tab 键的焦点应该起作用,并且按钮的颜色会根据焦点而变化。
我尝试在 QMainWIdow 上创建一个带有多个按钮的项目,并且它无需任何额外的努力就可以工作。我在 Arch linux 上使用 Qt 5.15 和 KDE。
如果要改变按钮遍历的顺序,可以使用Qt Creator中改变设计器模式的按钮。
如果你想改变按钮的颜色,你应该用类似css的代码来改变按钮的样式表。 Here你可以看到样式表自定义的例子。
【讨论】:
setStyleSheet("QPushButton:focus { background-color: red; }")。如果你想改变只用 tab 聚焦的按钮的颜色,那么你需要重写 QMainWindow 的focusNextPrevChild() 方法并在keyPressEvent() 中实现你自己的 tab 键焦点变化。