【发布时间】:2015-07-04 13:36:13
【问题描述】:
我在 Mac 上运行 Python 2.7.9。我一直无法弄清楚为什么当我运行我的程序时,每次我按 Tab 键移动到下一个小部件时,只有条目小部件突出显示。以下是一些测试代码。当我运行脚本并按 Tab 键时,第一个输入字段会突出显示。下次我按 Tab 键时,第二个输入字段会突出显示。但是,当我按 Tab 键移动到 Button 小部件时,Button 正在接收焦点,但没有突出显示以直观地向用户指示焦点。
完全跳过了 OptionMenu 小部件,这也是一个谜。单选按钮和复选框都接收焦点,就像按钮小部件一样,并且再次没有突出显示。
我尝试了各种 .config() 安排,但均无济于事。我错过了什么?
from tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.grid()
#Tests to make sure that Button receives focus.
def yup(self):
print "yup"
entry1 = Entry(frame)
entry1.pack()
entry2 = Entry(frame)
entry2.pack()
button1 = Button(frame, text="Test")
button1.pack()
button1.bind('<Return>', yup)
var1 = IntVar()
c = Checkbutton(frame, text="Expand", variable=var1)
c.pack()
var2 = StringVar()
radio = Radiobutton(frame, text="Test", variable=var2, value=1)
radio.pack()
var3 = StringVar()
optionmenu1 = OptionMenu(frame, var3, "one", "two", "three")
optionmenu1.pack()
root = Tk()
root.geometry('400x400+0+0')
app = App(root)
root.mainloop()
【问题讨论】:
-
我只导入 tkinter *
-
在主循环之后有
root.destroy()的目的是什么?没有意义,它会给你一个错误。 -
你是对的。我更新了代码。您知道为什么突出显示不起作用吗?