python - Qt状态栏颜色

标签 python qt qstatusbar

我将 Qt 与 Python 一起使用,并且我有一个主窗口,底部有一个状态栏。我可以使用 QLabel 在栏中显示消息,并使用 "<font color=\"green\">In progress</font>" 之类的东西设置该消息的颜色对于 QLabel 文本。

我还想在状态栏中放置一条临时消息,并为该消息指定一种颜色。但是,由于这次它不是 QLabel(我使用的是 QStatusBar::showMessage,它只需要一个 QString),所以我不能再更改颜色了。上面的标签无法识别,整个字符串 "<font color=\"green\">In progress</font>"以灰色显示。

有没有人有什么想法?

最佳答案

要为 QStatusBar 设置背景或文本颜色,请在显示消息之前更改它的样式表:

    self.status.setStyleSheet("QStatusBar{padding-left:8px;background:rgba(255,0,0,255);color:black;font-weight:bold;}")
    self.status.showMessage("Error Cannot determine filepath", msecs= 5000)

init 上,将 QStatusBar 的 messageChanged(QString) 连接到 statusChanged() 函数。

    def statusChanged(self, args):
        '''If there are no arguments (the message is being removed) 
        change the background back to transparent/ text back to black'''
        if not args:
            self.status.setStyleSheet("QStatusBar{padding-left:8px;background:rgba(0,0,0,0);color:black;font-weight:bold;}") 

T

关于python - Qt状态栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5795214/

相关文章:

java - 生成 Java 绑定(bind)到基于 Qt 的库

c++ - QPlainTextEdit显示缓慢的性能

python - 从 Python 列表中提取随机子列表

python - PyQt5 QWidget 将固定宽度设置为最小可用尺寸

Snow Leopard 上的 Python,如何打开 >255 个套接字?

qt - 使用 Qt Designer 将 QLabel 嵌入到 QStatusBar 中

python - 如何使用 PyASN1 建模递归 ASN.1 规范?

qt - `GLIBC_2.14' 未找到

qt - 如何在 QStatusBar 中获取彩色瞬时消息?