【问题标题】:Disabled Qt-Buttons are not shown as disabled in Plasma 5.2 (KDE 5)禁用的 Qt 按钮在 Plasma 5.2 (KDE 5) 中未显示为禁用
【发布时间】:2015-05-04 13:26:30
【问题描述】:

在 KDE 5 (Kubuntu 15.04 / Plasma 5.2) 中,禁用的 Qt 按钮 (Qt4) 与未禁用的按钮无法区分。 KDE 4.14 中不存在此问题,如以下屏幕截图所示:

此对话框的程序源是用 Python 和 PyQt4 编写的:

from PyQt4 import QtGui
import sys


if __name__ == "__main__":
    # main function

    app = QtGui.QApplication(sys.argv)

    qw = QtGui.QWidget()
    qw.resize(150, 120)
    qw.setWindowTitle("KDE 4")
    #qw.setWindowTitle("KDE 5")

    b1, b2 = QtGui.QPushButton(qw), QtGui.QPushButton(qw)
    for b, y, e in zip([b1, b2], [30, 60], [False, True]):
        b.move(30, y)
        b.setEnabled(e)
        b.setText("Enabled" if e else "Disabled")

    qw.show()
    sys.exit(app.exec_())

如何使 KDE 5 中的禁用按钮可识别?

2015-07-17 更新:

这似乎是主题的问题:在 Debian/sid 中​​使用 Oxygen-Theme 可以避免这个问题。

Bug 343930 也解决了这个问题。

【问题讨论】:

  • 作为一种解决方法,为按钮的文本设置样式表。
  • @ngulam 谢谢 - 我想我最终会做自定义样式表 - 再见可移植性......
  • @Dietrich 这不是最优雅的解决方案,但您应该能够使用三引号字符串将样式表存储在脚本中,然后从字符串中加载。它至少可以解决便携性问题。
  • @DarthVader Shipping 样式表不是我的主要问题。烦恼是我需要在每个平台上进行测试。虽然我的情况是,GUI 只是在一个实验室中使用,我需要支持四个平台(KDE 4,5,Win 7,8)。
  • 嗯,这可能不是你想要的,但它在 PyQt5 中运行良好。

标签: python ubuntu qt4 pyqt4 kde-plasma


【解决方案1】:

这是 KDE/Plasma5 使用的 Breeze 主题中的一个错误。现在已经解决了。下面是使用 Qt5 和 PyQt5 启用和禁用按钮的屏幕截图。

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2012-06-11
    相关资源
    最近更新 更多