我如何得到一个Tkinter应用程序跳转到前面? 目前,窗口出现在所有其他窗口后面,并没有得到重点。 有什么方法我应该打电话?
出于某种原因,我不能使用Tkinter模块..我不知道是什么原因导致它,这是如此讨厌,这条线有什么问题吗? import Tkinter 也尝试运行它,在pythonterminal,仍然不工作..
我把我的button放到一个数组中,但当我打电话给他们时,他们不在那里。 如果我打印出我得到的数组: {0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, …} 我只是不知道我做错了什么。 from tkinter import * def main(): pass if __name__ == '__main__': main() b={} app = Tk() app.grid() f = Frame(app, bg = "orange", width = 500, height = 500) f.pack(side=BOTTOM, expand = 1) def color(x): […]
我一直在寻找很多,我仍然不知道如何从python的不同类访问variables…在这种情况下,我想访问variablesself.v从PageOne类到PageTwo类..请帮助我 这是我的代码… import tkinter as tk import smtplib TITLE_FONT = ("Helvetica", 18, "bold") class SampleApp(tk.Tk): def __init__(self): tk.Tk.__init__(self) 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, PageOne, PageTwo): frame = F(container, self) self.frames[F] = frame frame.grid(row=0, column=0, sticky="nsew") self.show_frame(StartPage) def show_frame(self, c): frame = self.frames[c] frame.tkraise() […]
我试图使用一个Entry字段来获得手动input,然后使用该数据。 我发现所有的来源声称我应该使用get()函数,但我还没有find一个简单的工作小例子,我不能得到它的工作。 我希望有人能告诉我我做错了什么。 这是一个迷你文件: from tkinter import * master = Tk() Label(master, text="Input: ").grid(row=0, sticky=W) entry = Entry(master) entry.grid(row=0, column=1) content = entry.get() print(content) # does not work mainloop() 这给了我一个可以input的Entry字段,但是一旦input数据,我就无法做任何事情。 我怀疑我的代码不工作,因为最初, entry是空的。 但是一旦input数据被input,我该如何访问input数据呢?
像这样的东西,会使小部件正常显示: Label(self, text = 'hello', visible ='yes') 虽然这样的事情,会使小部件完全不出现: Label(self, text = 'hello', visible ='no')
我见过的每一个tkinter.mainloop教程声称, tkinter.mainloop必须被调用来绘制窗口和事件来处理,而且他们总是调用这个函数,即使在hello world程序中。 但是,当我在交互式shell中尝试这些时,窗口绘制正确,而不必调用主循环。 这个在tkinter中embeddedmatplotlibgraphics的例子产生了一个相对复杂的应用程序,用于在tkinter窗口中平移,缩放和调整graphics的大小,再次,如果你去掉mainloop调用并在交互式shell中运行代码, 。 当然,如果我在交互式shell之外运行脚本(在mainloop被移除的情况下),程序结束得太快以至于看不到会发生什么,但是如果我添加一个调用来保存程序打开一切正常的工作(我正在运行python 3.2.2在Linux上)。 那么主循环究竟做了什么,什么时候需要调用呢? 编辑:澄清,如果我打开GNOMEterminal和types $python3 >>> import tkinter >>> root = tkinter.Tk() 一个窗口立即出现,而不必调用主循环,更复杂的tkinterfunction似乎也可以工作(例如,向窗口添加button)。 在IDLE中,调用mainloop是必要的。 根据我的理解,任何东西都不应该被绘制,直到主循环被调用,才能处理任何事件。
我的目标是添加一个垂直滚动条的框架,其中有几个标签。 滚动条应该在框架内的标签超过框架高度时自动启用。 经过search,我发现这个有用的职位。 基于这篇文章,我明白,为了实现我想要的,(纠正我,如果我错了,我是一个初学者)我必须先创build一个框架,然后创build一个canvas内的框架,并将滚动条粘到框架以及。 之后,创build另一个框架,并将其放在canvas内作为窗口对象。 所以,我终于想出了这个 from Tkinter import * def data(): for i in range(50): Label(frame,text=i).grid(row=i,column=0) Label(frame,text="my text"+str(i)).grid(row=i,column=1) Label(frame,text="……….").grid(row=i,column=2) def myfunction(event): canvas.configure(scrollregion=canvas.bbox("all"),width=200,height=200) root=Tk() sizex = 800 sizey = 600 posx = 100 posy = 100 root.wm_geometry("%dx%d+%d+%d" % (sizex, sizey, posx, posy)) myframe=Frame(root,relief=GROOVE,width=50,height=100,bd=1) myframe.place(x=10,y=10) canvas=Canvas(myframe) frame=Frame(canvas) myscrollbar=Scrollbar(myframe,orient="vertical",command=canvas.yview) canvas.configure(yscrollcommand=myscrollbar.set) myscrollbar.pack(side="right",fill="y") canvas.pack(side="left") canvas.create_window((0,0),window=frame,anchor='nw') frame.bind("<Configure>",myfunction) data() root.mainloop() 我做对了吗? […]
我正在尝试在for循环中创buildtkinter中的button。 并且每个循环都将i计数值作为parameter passing给命令值。 所以当从命令值调用函数时,我可以知道哪个button被按下,并相应地执行。 问题是,假设len是3,它将通过“游戏3”创build3个带有标题“游戏1”的button,但是当任何button被按下时,打印值总是2,即最后一次迭代。 所以看起来button被做成独立的实体,但是在命令参数中的i值似乎都是一样的。 这里是代码: def createGameURLs(self): self.button = [] for i in range(3): self.button.append(Button(self, text='Game '+str(i+1),command=lambda:self.open_this(i))) self.button[i].grid(column=4, row=i+1, sticky=W) def open_this(self, myNum): print(myNum) 有没有一种方法来获得当前的i值,每次迭代,坚持与特定的button? 先谢谢你。
嘿,我是新来的python,并使用tkinter我的贵族。 我在使用“之后”方法时遇到了问题。 目标是每5秒钟出现一个随机字母。 这是我的代码: import random import time from tkinter import * root = Tk() w = Label(root, text="GAME") w.pack() frame = Frame(root, width=300, height=300) frame.pack() L1 = Label(root, text="User Name") L1.pack(side=LEFT) E1 = Entry(root, bd =5) E1.pack(side=LEFT) tiles_letter = ['a', 'b', 'c', 'd', 'e'] while len(tiles_letter) > 0: rand = random.choice(tiles_letter) tile_frame = Label(frame, […]