【发布时间】:2021-03-30 11:45:18
【问题描述】:
Tl;dr:我们如何(我们在哪里可以获得信息)在这个系统表示层对 Tkinter 进行故障排除? Tkinter 的维护者肯定会在某处记录一份指南。有什么想法会导致这种“wtf?”体验吗?
注意!为了支持未来的故障排除事件,目标是了解根本原因,以便它可以在其他地方重现,然后应用修复。
问题:
在此特定的 Kubuntu KDE Plasma 5.18 机器配置上单击复选框时,Checkbutton 小部件不会更新。
调查:
在以下环境中未出现此问题:
- Windows 8.1,
- 带有 LiveCD Kubuntu 20.04 (Plasma 5.18) 的 VirtualBox,
- VirtualBox 与 LiveCD Kubuntu 20.10 (Plasma 5.19),
- Kubuntu 20.04(原机上的 XFCE)。
使用其他 GUI 框架进行的测试工作正常。
- 基维
- GTK 版本 3
- wxPython
下一步:
- 搜索结果并未真正提供与此特定相关的指南或问题。
- 也可以通过python org discuss platform 咨询意见。
- 尝试创建 TCL 测试版本。
测试源代码:
from tkinter import *
class MyGUI:
def __init__(self, window):
self.var = IntVar()
self.c = Checkbutton(window,
text="Enable Tab",
variable=self.var,
command=self.cb)
self.c.pack()
def cb(self):
print("self.var is", self.var.get())
if __name__ == "__main__":
root = Tk()
gui = MyGUI(root)
root.mainloop()
输出:
>self.var is 1
>self.var is 0
>self.var is 1
系统规格:
操作系统:Kubuntu 20.04
KDE Plasma 版本:5.18.5
KDE 框架版本:5.68.0
Qt 版本:5.12.8
内核版本:5.4.0-58-generic
操作系统类型:64 位
处理器:英特尔 i3 4 核 M350 2.27GHz
内存:7,6 GiB RAM
Python 3.8.5
Tcl/Tk 版本 8.6
【问题讨论】:
-
从github中的动画来看,checkbutton更新了,但是tick的颜色几乎是白色的。所以很难看到。
-
@acw1668 :我会快速检查 Plasma 主题并提供反馈。不会是第一次主题让我陷入困境。
-
@acw1668 :感谢您注意到 GIF 中的行为。不得不调整我的显示器对比度来获得它。现在确定了根本原因。当我在代码中更改 Tkinter 样式(alt、classic、clam、default)时,Checkbutton 的功能在视觉上是正确的。因此,结论是调查 KDE Plasma 样式和主题以确定系统主题为何会产生影响。我将用最终答案更新问题。也许也可以从 KDE Plasma 维护者那里获得一些反馈。
标签: python tkinter kde-plasma