有没有办法在不知道小部件的字体系列和字体大小的情况下更改Tkinter小部件的字体样式?
使用案例:我们使用标准Tkinter小部件(标签,条目,文本等)创建UI .在我们的应用程序运行时,我们可能希望使用该.config()方法动态地将这些小部件的字体样式更改为粗体和/或斜体.遗憾的是,如果没有指定字体的族和大小,似乎无法指定字体规范.
以下是我们想要做的事情的例子,但这些例子都不起作用:
widget.config(font='bold')
Run Code Online (Sandbox Code Playgroud)
要么
widget.config(font=( None, None, 'bold' ))
Run Code Online (Sandbox Code Playgroud) 我想在程序中添加一个简单的消息框,但看起来你无法在 python 3 中调整字体大小。这很烦人,但也不算太糟糕 - 我将制作自己的窗口并克服它。我不明白的是为什么字体在 python 2 中可以调整,但在 python 3 中不再可以调整?
python 3 中的消息框示例:
import tkinter
from tkinter import *
from tkinter import messagebox
root = Tk()
def Help(self):
messagebox.showinfo("Window title", "Sample text")
test_button = Button(root, text="Test Button", font=("Helvetica", 25), command=self.Help)
test_button.grid(row = 2, column =0)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
这是解决 python 2 中字体调整的问题:Control Font in tkMessageBox
这是一个解决python 3 中缺乏字体调整的问题: How to set font of a messagebox with Python tkinter?
谁能解释明显的功能损失?为什么我们会在看似改进的 python 版本中失去这个选项?
编辑:看起来 Python 2 中应用的解决方案将在运行 python 3 的 …