Tig*_*ger 17 python tkinter python-3.x macos-mojave
这是一个非常简单的程序.
import tkinter
tkinter.Button(None, text='button').pack()
tkinter.mainloop()
Run Code Online (Sandbox Code Playgroud)
我希望这个节目能让我看到如下图.

但它实际上显示了下面的图片.

当它在GUI上调整大小时似乎运行良好.
在High Sierra没有出现这个问题.
我的环境如下:
你能告诉我一下吗?
我在这里发现了同样的问题.
我有同样的错误,为了修复它,我必须将按钮更改为ttk.Button并设置样式。例如,添加以下内容以进行导入:
try: from tkinter import ttk # python 3
except: import ttk # python 2.7
Run Code Online (Sandbox Code Playgroud)
然后在根初始化之后:
style = ttk.Style()
style.map("C.TButton",
foreground=[('pressed', 'red'), ('active', 'blue')],
background=[('pressed', '!disabled', 'black'),
('active', 'white')]
)
Run Code Online (Sandbox Code Playgroud)
然后当你实例化按钮时:
self.button = ttk.Button(self, text="my cooool button",
command=self.load_something_cool, style="C.TButton")
Run Code Online (Sandbox Code Playgroud)
它完美地确保了文本显示正确。在我添加 ttk 位之前,我和你在 Mojave 的情况相同。
我猜Tk中有错误。我使用的是MacOS 10.14.3,如果您最大化或最小化tkinter窗口,则出现按钮上的文本,另一种对我有用的解决方案是
from tkinter import *
from tkinter import ttk
button1 = ttk.Button(*your args here*)
Run Code Online (Sandbox Code Playgroud)
小智 5
我也有这个问题,升级到Mojave后和使用Homebrew的python3时,在Mac上可以100%重现。
切换到Python.org的Python 3.7.1软件包下载对我来说完全消除了这个问题。
| 归档时间: |
|
| 查看次数: |
4475 次 |
| 最近记录: |