TOday我从ActiveTcl 8.5.9更新到ActiveTcl 8.5.17,以修复此bug。我使用的是mac,os x 10.7。我已经注意到在我的程序中破坏了一些东西。当我点击不相关的区域时,一些按钮会闪烁黑色的轮廓(这在更新之前是不会发生的)。最大的担忧是我的一些复选按钮没有显示!例如:
import tkinter as tk
t=tk.Tk()
c=tk.IntVar()
b=tk.Checkbutton(master=t,variable=c)
b.grid(column=0,row=1,sticky="nsew")
t.mainloop()给出一个空窗口

然而,代码:
import tkinter as tk
t=tk.Tk()
c=tk.IntVar()
b=tk.Checkbutton(master=t,variable=c,text="bob")
b.grid(column=0,row=1,sticky="nsew")
t.mainloop()编辑: Checkbutton仍然在那里,因为它对点击做出反应,但它只是向下不显示
给出了预期的结果。现在出现了奇怪的部分,将文本更改为"aaa“代码仍然不起作用。这与文本的长度有关吗?我试着添加填充,改变粘性,但没有任何帮助:(在其他情况下,它的行为甚至更奇怪。在8.5.17中有什么变化吗?还是我的版本只是关闭了?
发布于 2015-03-10 06:54:51
使用ttk小部件实现更多跨平台一致性。
import tkinter as tk
import tkinter.ttk as ttktkk是一组比tk中提供的小部件更现代的小部件。
我猜tk会为GUI调用olds OS API,然后定制这些小部件。ttk调用GUI的最后一个本机默认API。这会在OS X上造成问题,因为Apple在发布新版本的OS时决定不优先考虑向后兼容性
https://stackoverflow.com/questions/28952749
复制相似问题