【问题标题】:Code to select the PushButton using Tab Key使用 Tab 键选择按钮的代码
【发布时间】:2021-04-02 20:23:40
【问题描述】:

我设计了包含许多按钮的 UI 屏幕,我想选择或可以说想使用 Tab 键控​​制应用程序。当我选择任何特定键时,它应该相应地更改该按钮的颜色。

【问题讨论】:

    标签: qt widget tabbar


    【解决方案1】:

    据我所知,默认情况下,使用 tab 键的焦点应该起作用,并且按钮的颜色会根据焦点而变化。

    我尝试在 QMainWIdow 上创建一个带有多个按钮的项目,并且它无需任何额外的努力就可以工作。我在 Arch linux 上使用 Qt 5.15 和 KDE。

    如果要改变按钮遍历的顺序,可以使用Qt Creator中改变设计器模式的按钮。

    如果你想改变按钮的颜色,你应该用类似css的代码来改变按钮的样式表。 Here你可以看到样式表自定义的例子。

    【讨论】:

    • 是的,我研究过标签顺序,但我想知道的是如何在由标签键控制时更改按钮的颜色。就像 keyEvent 的功能一样,它可以用于相同的用途。但它没有启用 Tab 键。
    • 这是我写的小代码
    • void MainWindow::keyPressEvent(QKeyEvent *event) { ui->centralwidget->setStyleSheet("QPushButton { background-color: blue; }\n" "QPushButton:enabled { background-color: rgb (0,255,0); }\n"); }
    • 您想更改焦点颜色吗?然后,您可以在代码中的某处(例如在构造函数中)或在 Qt Creator 的 ui 编辑器模式中更改焦点样式表,例如 setStyleSheet("QPushButton:focus { background-color: red; }")。如果你想改变只用 tab 聚焦的按钮的颜色,那么你需要重写 QMainWindowfocusNextPrevChild() 方法并在keyPressEvent() 中实现你自己的 tab 键焦点变化。
    猜你喜欢
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2019-10-31
    相关资源
    最近更新 更多