我目前正在开发一个简单的 GUI 来帮助我完成未来的项目,我刚刚开始放置标签和一个按钮来打开一个新窗口。目前它可以工作,但是每当我尝试更改按钮上的文本字体时(使用 getStarted.config(font=("Courier",15))
)它都不起作用,而在其他项目中,我通常没有更改按钮字体的问题。 (当我注释掉改变它工作的文本字体/大小的一行时,只使用默认文本。)我怀疑它与我的类系统有关,但是我不确定如何修复它,所以任何感谢帮助。
from tkinter.ttk import *
def getStarted():
NewWindow(homeWindow)
class NewWindow(Toplevel):
def __init__(self, homeWindow=None):
super().__init__(master=homeWindow)
self.title("Information")
self.geometry("600x600")
label = Label(self, text="Enter your information")
label.pack()
homeWindow = Tk()
homeWindow.title("Rota System")
homeWindow.geometry("600x600")
welcome = Label(homeWindow, text="Rota System")
welcome.config(font=("Courier", 30))
welcome.pack(side=TOP, pady=10)
byTom = Label(homeWindow, text="Created by Tom")
byTom.config(font=("Courier", 10))
byTom.pack(side=TOP, pady=10)
getStarted = Button(homeWindow, text="Click here to get started", command = getStarted)
getStarted.config(font=("Courier",15)) #This is the line causing issues, it works in other projects
getStarted.place (x=25,y=500,height=50,width=550)
mainloop()
答案 0 :(得分:1)
试试这个:
import tkinter as tk
from tkinter import ttk
def get_started():
NewWindow(home_window)
class NewWindow(tk.Toplevel):
def __init__(self, master=None):
super().__init__(master=master)
self.title("Information")
self.geometry("600x600")
label = ttk.Label(self, text="Enter your information")
label.pack()
home_window = tk.Tk()
home_window.title("Rota System")
home_window.geometry("600x600")
welcome = ttk.Label(home_window, text="Rota System")
welcome.config(font=("Courier", 30))
welcome.pack(side="top", pady=10)
byTom = ttk.Label(home_window, text="Created by Tom")
byTom.config(font=("Courier", 10))
byTom.pack(side="top", pady=10)
# Use `tk.Button` instead of `ttk.Button`
getStarted = tk.Button(home_window, text="Click here to get started",
command=get_started)
getStarted.config(font=("Courier", 15))
getStarted.place(x=25, y=500, height=50, width=550)
home_window.mainloop()
这就是不鼓励 from ... import *
的原因。您使用的 ttk.Button
没有 font
属性。 tk.Button
具有 font
属性,所以我认为这就是您想要使用的。