【发布时间】:2020-11-13 15:38:45
【问题描述】:
我正在 python 中编写一个函数来在 tkinter 中显示窗口的组件。显示按钮时出现此错误:
TclError: unknown option "-font"
这是我的代码:
from tkinter import *
from tkinter.ttk import *
import socket
import psutil
from plyer import notification
master = Tk()
navbar = Canvas(master,width=width,highlightthickness=0, height=60, bg='#0a2145')
name = Label(master, text="Estancia", font=('Verdana',12,'italic'))
name.config(background='#0a2145', foreground='white')
sys_det = Label(master, text='Estancia', font=('Verdana',32))
sys_det.config(background='#304566',foreground='white')
ID = Entry(master, font=('Verdana',10,'italic'), width=20)
Pass = Entry(master, font=('Verdana',10),show='•', width=20)
det_sub = Button(master, text = 'Submit',font=('Verdana',10), command=redirect, fg='white', bg='#304566',
height=1, width=2)
canvas1.create_window(50, 22, window=name)
canvas1.create_window(680,20,window=navbar)
canvas1.create_window(685,225,window=sys_det)
canvas1.create_window(685,325,window=ID)
canvas1.create_window(685,350,window=Pass)
canvas1.create_window(685,380,window=det_sub)
谁能找出问题所在?
【问题讨论】:
-
可能你使用的是 Ttk
Button,而不是普通的 Tkinter 版本——你必须使用 Ttk 的 Style 机制来自定义它的小部件。 (如果您已按要求发布了minimal reproducible example,我们将能够看到您的导入语句,并准确说明您正在使用哪些小部件。) -
我将添加导入语句。
-
删除字体属性时,控制台显示按钮的fg属性有错误
-
您使用的是
ttk.Button而不是tkinter.Button,因为from tkinter.ttk import *覆盖了from tkinter import *。避免使用import *,而是使用import tkinter as tk和from tkinter import ttk。然后指定你想要的Button,比如tk.Button。 -
成功了。非常感谢。一旦您将其添加为答案,我就可以接受它。
标签: python python-3.x button tkinter