如何在构造函数中为TkinterEntry小部件设置默认文本?我检查了文档,但没有看到在构造函数中设置的类似"string="选项?对于使用表格和列表有一个类似的答案,但这是一个简单的Entry小部件。 最佳答案 使用Entry.insert.例如:try:fromtkinterimport*#Python3.xexceptImportError:fromTkinterimport*#Python2.xroot=Tk()e=Entry(root)e.insert(END,'defaulttext')e.pack()root.main
我第一次为Python3中的程序编写浏览按钮。我一直在搜索互联网和这个网站,甚至是python标准库。我找到了示例代码和对事物的非常肤浅的解释,但我无法找到任何可以直接解决我遇到的问题的内容,或者找到足够好的解释,以便我可以根据需要自定义代码。以下是相关片段:Button(self,text="Browse",command=self.load_file,width=10)\.grid(row=1,column=0,sticky=W).....defload_file(self):filename=filedialog.askopenfilename(filetypes=(("Temp
如何在Tkinter中以全屏模式显示框架?我看到了这段代码,非常有用……:>>>importTkinter>>>root=Tkinter.Tk()>>>root.overrideredirect(True)>>>root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(),root.winfo_screenheight()))...但是是否可以编辑代码,以便点击Esc自动使窗口“恢复”? 最佳答案 我想这就是你要找的东西:Tk.attributes("-fullscreen"
这是给我带来麻烦的代码。f=Frame(root,width=1000,bg="blue")f.pack(fill=X,expand=True)l=Label(f,text="hi",width=10,bg="red",fg="white")l.pack()如果我用Label注释掉行,Frame会以正确的宽度显示。但是,添加标签似乎会将框架缩小到标签的大小。有没有办法防止这种情况发生? 最佳答案 默认情况下,pack和grid都会缩小或放大小部件以适应其内容,这在99.9%的情况下都是您想要的。描述此功能的术语是几何传播。使用pac
当我使用以下方法绘制形状时:canvas.create_rectangle(10,10,50,50,color="green")Tkinter是否会跟踪它的创建事实?在我正在制作的一个简单游戏中,我的代码有一个Frame创建一堆矩形,然后绘制一个黑色的大矩形以清除屏幕,然后绘制另一组更新的矩形,等等。我是否在内存中创建了数千个矩形对象?我知道你可以将上面的代码分配给一个变量,但是如果我不这样做并且直接在Canvas上绘制,它会保留在内存中,还是只绘制像素,就像在HTML5Canvas中一样? 最佳答案 每个Canvas项目都是Tki
我正在尝试使用Tkinter创建一个按钮网格(以实现可点击的单元格效果)。我的主要问题是我无法使grid和按钮自动调整大小并适合父窗口。例如,当我在网格上有大量按钮时,我没有缩小按钮以使网格适合窗口内部,而是得到一个超出屏幕的拉伸(stretch)框架。我正在寻找的效果是网格填充所有可用空间,然后调整其单元格的大小以适应该空间。我已阅读文档,但我仍然无法弄清楚如何使其工作。这是我的出发点的基本代码:def__init__(self):root=Tk()frame=Frame(root)frame.grid()#somewidgetsgetaddedinthefirst6rowsofth
我正在尝试将tkinter窗口居中。我知道我可以通过编程方式获取窗口的大小和屏幕的大小,并使用它来设置几何图形,但我想知道是否有更简单的方法可以让窗口在屏幕上居中。 最佳答案 最简单(但可能不准确)的方法是使用tk::PlaceWindow,取pathname作为参数的顶级窗口。主窗口的路径名是.importtkinterroot=tkinter.Tk()root.eval('tk::PlaceWindow.center')second_win=tkinter.Toplevel(root)root.eval(f'tk::PlaceW
如何让Tkinter应用程序跳转到前面?目前,该窗口出现在我所有其他窗口的后面并且没有获得焦点。有什么我应该调用的方法吗? 最佳答案 假设您说“我的其他窗口”时指的是您的应用程序窗口,您可以在Toplevel或Tk上使用lift()方法:root.lift()如果您希望窗口保持在所有其他窗口之上,请使用:root.attributes("-topmost",True)root是您的Toplevel或Tk。别忘了"topmost"前面的-!要使其临时,请在以下之后禁用最上面:defraise_above_all(window):win
我的目标是在其中包含多个标签的框架中添加一个垂直滚动条。框架内的标签超过框架高度后,滚动条应自动启用。经过搜索,我发现this有用的帖子。根据那篇文章,我明白为了实现我想要的,(如果我错了,请纠正我,我是初学者)我必须先创建一个Frame,然后在该框架内创建一个Canvas并将滚动条粘贴到那个框架也是如此。之后,创建另一个帧并将其作为窗口对象放入Canvas中。所以,我终于想到了:fromTkinterimport*defdata():foriinrange(50):Label(frame,text=i).grid(row=i,column=0)Label(frame,text="my
我正在尝试向窗口添加自定义标题,但我遇到了问题。我知道我的代码不正确,但是当我运行它时,它会创建2个窗口,一个只有标题tk,另一个更大的窗口带有“SimpleProg”。如何使tk窗口具有标题“SimpleProg”而不是新的附加窗口。我不认为我应该有Tk()部分,因为当我在我的完整代码中有它时,会有一个错误fromtkinterimportTk,Button,Frame,Entry,ENDclassABC(Frame):def__init__(self,parent=None):Frame.__init__(self,parent)self.parent=parentself.pac