我已经用Python编写了一个带有TkinterGUI前端的程序。从脚本运行时,没有问题。我使用cx_freeze将它打包成一个exe文件,然后从中运行它,对大多数程序都有效。但是,它有一个问题:当尝试在某个函数中将值赋给StringVar对象时,会引发异常并终止程序。当从程序中的不同点访问同一个函数时,它正常工作。知道会出什么问题吗?导致此问题的代码部分如下(我添加了MessageBox,以便查看它失败的原因):ifkeyDetail.get('default',False):try:self.entries[key].set(keyDetail['default'])exceptE
尝试使用tkinter为一系列PIL图像制作动画。我的帧持续时间(ms)的图表如下所示:有人知道是什么导致了这种尖尖的锯齿图案吗?这是一个重现的脚本:fromPILimportImage,ImageTkimportTkinterimporttimeimportsysdefgenerate_frames(n):"""keepnunder101*101"""out=[]last_pil=Noneforiinrange(n):iflast_pil:pil_image=last_pil.copy()else:pil_image=Image.new('L',(101,101),255)x=i/1
如何使用像素指定Tkinter文本框的尺寸?我不是要更改字体大小,而是使用它来帮助我将其缩放到窗口的大小。 最佳答案 您可以将它放在一个框架内,通过停用大小传播并将条目配置为固定在框架边界上来强制框架具有固定大小。也应该以类似的方式与pack一起工作。importTkinter#tkinterwithsmalltforpython3#importttk#nicerwidgetsroot=Tkinter.Tk()mainFrame=Tkinter.Frame(root)mainFrame.grid()button=Tkinter.Bu
有没有办法播放像AVI这样的视频文件?,MP4,ETC。?我尝试使用PyMedia,但显然它只适用于Pygame.我的问题的解决方案是什么? 最佳答案 您可以使用python-gstreamer来播放视频(这对我来说适用于Linux,但它也应该适用于Windows)。这需要python-gstreamer和python-gobject,我建议您使用这个一体化安装程序。代码如下:importosimportsysimportTkinterastkinterimportgobjectimportgstdefon_sync_message
Tkinter的Canvas小部件具有以下内置功能:使用canvas.scan_mark和canvas.scan_dragto移动/平移Canvas(例如通过单击+拖动),请参阅thisquestion使用canvas.scale缩放Canvas上的矢量元素,但遗憾的是,这doesn'twork对于Canvas上的位图图像幸运的是,thismethod允许缩放图像(通过手动重绘图像的缩放部分)。但是:当我们重绘Canvas的特定部分时,移动/平移功能将不再起作用...我们绝对需要渲染比当前显示区域更多的区域,以允许移动/平移。假设我们在Canvas上有1000x1000的位图,我们想放
我使用的是OSX。我双击我的脚本以从Finder运行它。此脚本导入并运行以下函数。我希望脚本显示一个Tkinter打开文件对话框并返回所选文件的列表。这是我目前所拥有的:defopen_files(starting_dir):"""Returnslistoffilenames+pathsgivenstartingdir"""importTkinterimporttkFileDialogroot=Tkinter.Tk()root.withdraw()#Hiderootwindowfilenames=tkFileDialog.askopenfilenames(parent=root,ini
我正在使用Python和Tkinter,并且我想要来自其他工具包/语言的onchange事件的等效项。我想在用户更新某些小部件的状态时运行代码。在我的例子中,我有很多Entry、Checkbutton、Spinbox和Radiobutton小部件。每当这些更改中的任何一个更改时,我都想运行我的代码(在这种情况下,更新另一个面板上的文本框)。(请记住,用户可以使用鼠标或键盘与这些小部件进行交互,甚至可以使用Ctrl+V粘贴文本) 最佳答案 我认为正确的方法是在已分配给小部件的tkinter变量上使用trace。例如……importtk
这是一个非常简单的程序。importtkintertkinter.Button(None,text='button').pack()tkinter.mainloop()我希望这个程序向我显示如下图。但实际显示的是下图。当它在GUI上调整大小时,它似乎运行良好。在HighSierra中没有出现这个问题。我的环境如下:macOSMojave10.14python3.7.0你能给我一些建议吗?我在here上发现了同样的问题. 最佳答案 将外观更改为灯光模式为我解决了这个问题。要更改外观,请转到“设置”->“常规”->“外观”->“灯光模式
fromTkinterimport*app=Tk()text_field=Entry(app)text_field.pack()app.mainloop()我希望能够检查text_field当前是否被选中或获得焦点,以便我知道在用户按下enter时是否对其内容执行某些操作。 最佳答案 如果您只想在焦点位于条目小部件上时用户按下回车键时执行某些操作,只需将绑定(bind)添加到条目小部件即可。它只会在该小部件具有焦点时触发。例如:importtkinterastkroot=tk.Tk()e1=tk.Entry(root)e2=tk.E
如何在PyGTK中设置启用或禁用gtk.Button? 最佳答案 my_button.set_sensitive(False)True启用,False禁用。查看gtk.Widgetdocumentation. 关于python-在PyGTK中启用或禁用gtk.Button,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2281373/