【发布时间】: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