【发布时间】:2015-10-20 00:06:38
【问题描述】:
我正在尝试让 Entry 字段在新页面打开时获得焦点:
import tkinter as tk
from tkinter import *
from tkinter import ttk
class DIS(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
tk.Tk.iconbitmap(self, default="")
tk.Tk.wm_title(self, "program")
container = tk.Frame(self)
container.pack(side="top", fill="both", expand = True)
container.grid_rowconfigure(0, weight = 1)
container.grid_columnconfigure(0, weight = 1)
self.frames = {}
for F in (startPage, contactQues):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row = 0, column = 0, sticky = "nsew")
self.show_frame(startPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class startPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
button2 = ttk.Button(self, text = "Here's a Button",
command=lambda: controller.show_frame(contactQues))
button2.pack()
class contactQues(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
entry = Entry(self)
entry.focus_force()
entry.pack()
app = DIS()
app.mainloop()
如果我移动startPage 下的Entry 字段,则焦点设置正确——每当我将它移动到contactQues 时,它就会失去焦点。可能是顶级问题?
【问题讨论】:
-
您的缩进有问题。代码不会像发布的那样运行。
-
@BryanOakley 我编辑了它,相信应该没问题
标签: python-3.x tkinter