如何更改 PySide6 QAction 中工具提示的颜色?

问题描述 投票:0回答:1

如何更改工具提示消息的颜色?样式表无法识别

    def __init__(self, parent):
    super().__init__(parent)
    self.parent = parent

    connect_action = QAction(QIcon('icon:icons8_connect_50.png'), "&Connect", self.parent)
    connect_action.setCheckable(True)
    connect_action.triggered.connect(self.connect_button)
    self.toolbar.addAction(connect_action)
    connect_action.setToolTip('Connect')

    connect_action.setStyleSheet("QToolTip {color:rgb(0, 0, 0);"
                               " background-color: rgb(255, 255, 204);"
                               " border: 2px solid black;"
                               " font-family: Times New Roman;}")
python user-interface tooltip pyside
1个回答
0
投票

样式表只能应用于小部件,而 QAction 不是小部件:它们是抽象对象,最终可能显示在能够显示操作的小部件上,但这可能以非常不同的方式发生。

例如,QMenu 中的项目、QLineEdit 中的图标或 QToolBar 中的按钮。实际上,即使从未显示过操作,也可以使用它们。

这意味着使用能够目标操作(尤其是特定操作)的样式表的可能性完全取决于显示它们的小部件。
例如,QMenu 只允许更改其操作的所有的外观,而不是特定的操作。

幸运的是,当一个动作添加到 QToolBar 时,它会自动为其创建一个 QToolButton(除非使用返回不同窗口小部件类型的 QWidgetAction 时)。

QToolBar 提供了使用

widgetForAction()
检索与其操作相关的小部件的可能性,这意味着我们可以为每个按钮设置单独的样式表:

    self.toolbar.addAction(connect_action)
    toolButton = self.toolbar.widgetForAction(connect_action)
    toolButton.setStyleSheet('...')
© www.soinside.com 2019 - 2024. All rights reserved.