python - python:我的 Tkinter 代码有时不会更改字体系列和大小
问题描述
我有这个通过 tkinter 制作 GUI 的 python 代码。
当我按下表格 1 上的按钮时,我试图在顶部激活一个新表格(表格 2)。
我是基于 tkinter 类的继承开发的。
我的代码通常运行良好,但我发现了一个问题。
如果我通过 Form 1 上的按钮事件运行 Form 2,则 Form 2 上的字体不会更改。
根本不会发生错误。
但是,如果我从下面的 main 中直接运行它,字体将成功更改。
if __name__ == '__main__':
form2 = Form2()
form2.mainloop() # execute GUI
这是我的代码:
from tkinter.ttk import *
import tkinter as tk
from tkinter import messagebox
from tkinter import *
import tkinter.font as tkFont
class Form2(tk.Tk):
def __init__(self):
super().__init__() # Inheritance from tkinter class
self.title("Form2")
self.geometry("350x600")
self.resizable(0, 0)
self.label = tk.Label(self, text='form2',
font=tkFont.Font(family="Roboto", size=18))
self.label.pack()
class Form1(tk.Tk):
def __init__(self):
super().__init__() # Inheritance from tkinter class
self.title("Form1")
self.geometry("350x600")
self.resizable(0, 0)
# Get Language Data
self.label = tk.Label(self, text='form1',
font=tkFont.Font(family="Roboto", size=18))
self.label.pack()
# preferences button design
self.button: object = tk.Button(self, overrelief="solid", width=10, height=2,
repeatdelay=1000, repeatinterval=100,
text="Preferences",
font=tkFont.Font(family="Roboto", size=9),
command=lambda: self.button_clicked())
self.button.pack()
@staticmethod
def button_clicked():
form2 = Form2()
form2.mainloop()
if __name__ == '__main__':
form1 = Form1()
form1.mainloop()
请给我一些建议。
解决方案
推荐阅读
- django - Django - 无法将唯一查询与非唯一查询或 pub_date 字段查找不可用相结合
- javascript - data-id 总是返回相同的值
- conceptual - 将特定的非侵入性信息附加到文件或文件夹以保持与程序的连接
- sql - 创建触发器以存储审计跟踪
- r - 在与子集数据表连接的情况下,为什么列优先于数据表中同名的对象
- javascript - Bootstrap datepicker - 以 M YYYY 显示,以 MMYYYY 格式向服务器发送数据
- web - 浏览器在点击 localhost url 时出现白屏
- vue.js - 空字符串和斜杠作为 Vue Router 默认子路由的路径名的区别
- python - 我如何解决 np.loadtxt 的问题
- javascript - 获取首先做出反应的用户 discord.js