草庐IT

python - Tkinter 的 event_generate 命令被忽略

我正在尝试弄清楚如何在对话框窗口中对绑定(bind)命令进行单元测试。我正在尝试使用tkinter的event_generate.它没有按我预期的方式工作。对于这个StackOverflow问题,我设置了一些代码,只需一次调用event_generate.有时这条线有效,有时好像这条线根本不存在。对话框中的绑定(bind)__init__方法如下所示:self.bind('',#Print"BackSpaceeventgenerated."lambdaevent:print(event.keysym,'eventgenerated.'))对话框中的任何操作都会回调到它的终止方法(该对话

python - 在 TreeView Tkinter 中删除和编辑项目

我想在Tkinter的TreeView中删除一行。我知道这个方法:defdelButton(self):x=main.tree.get_children()foriteminx:main.tree.delete(item)删除整棵树。但我只想删除一行。我该怎么做?此外,我还想知道如何编辑TreeView行。 最佳答案 您并没有删除整棵树,您只是删除了根项中的所有子项,因为您对迭代中的每个项都使用了删除。您可以使用if语句来确定您想要的项目,或者您可以使用selected_item=tree.selection()[0]获取所选项目并

python - Tkinter/Matplotlib 后端冲突导致无限主循环

考虑运行以下代码(请注意,这是演示问题的极其简化的版本):importmatplotlib.pyplotasplotfromtkinterimport*#Tkinterifyouronpython2defmain():fig=plot.figure(figsize=(16.8,8.0))root=Tk()w=Label(root,text="Closethisanditwillhang!")w.pack()root.mainloop()print('Codeneverreachesthispoint')if__name__=='__main__':main()关闭第一个窗口可以正常工作

Python 可嵌入 zip : install Tkinter

Pythonembeddablezip没有pip和Tkinter。很容易installpipwithget-pip.py在可嵌入的zip中。我们如何也安装Tkinter(假设我们没有在同一台机器上安装现有的Python)? 最佳答案 假设您在Windows上并且还安装了常规Python发行版(与嵌入式发行版相同版本),要在嵌入式发行版中安装Tkinter,您可以从常规Python发行版中复制以下文件:tcl文件夹到embedded_distribution_folder\(嵌入式分发的根文件夹)tkinter文件夹(位于Lib下)到

python - 如何使用 tkinter 将滚动条添加到窗口?

我有一个tkinter程序:importurllib.requestfromtkinterimport*root=Tk()root.iconbitmap(default='icon.ico')root.wm_title('GotSkills\'SkillTracker')frame=Frame(width="500",height="500")frame.pack()defshow():name="zezima"page=urllib.request.urlopen('http://hiscore.runescape.com/index_lite.ws?player='+name)pa

python - Tkinter 配置列宽

我查阅了文档并在columnconfigure中找到了3个可行的选项:最小化垫体重但是如果您想让列尽可能小怎么办?我有3个复选按钮,我想并排排列。我发现的工作是:weekly.grid(row=2,column=1,sticky=W)monthly.grid(row=2,column=1,padx=75,sticky=W)yearly.grid(row=2,column=1,padx=150,sticky=W)有没有更“漂亮”的方法来做到这一点?(可能值得一提的是,当使用第2列和第3列时,它们被分隔得太多了:-()最好的问候,卡斯珀 最佳答案

python - 在 Tkinter 中接受用户的输入

目标给用户一个文本字段。在他按下shell下方的按钮后,打印他在该字段中输入的文本。使用Tkinter这怎么可能?规范LinuxMint14上的Python2.7 最佳答案 我们将使用Entry小部件从用户那里获取文本。然后我们将定义一个函数,从这个小部件中提取文本并在shell中打印出来。defprinttext():globalestring=e.get()printstringfromTkinterimport*root=Tk()root.title('Name')e=Entry(root)e.pack()e.focus_se

python - 如何在 tkinter 中设置小部件的大小?

简单的例子:fromtkinterimport*classGUI_CMP():def__init__(self):self.tk=Tk()self.text=Text(self.tk,width=60,height=40)self.text.pack()self.tk.mainloop()if__name__=='__main__':gui_cmp=GUI_CMP()这是它的样子:如您所见,虽然我设置了width=60,height=40,但文本小部件的宽度小于它的高度。每次我使用tkinter时,这一直困扰着我。所以我的问题是:40和60到底是什么意思?文本宽度小于高度的原因是什么?

python - 调整窗口大小不会调整 tkinter 中的内容

我在制作我的第一个GUI应用程序时遇到了一个愚蠢的问题。调整主窗口的大小不会调整其内容的大小并留下空白区域。我读过TKDocs,他们只说你应该使用sticky和​​column/rowweight属性,但我真的不明白它们是如何工作的。这是我的代码(仅涉及小部件的部分,如果您认为问题不在这里,我会发布其余部分):fromtkinterimport*fromtkinterimportttkroot=Tk()mainframe=ttk.Frame(root,padding="331212")mainframe.grid(column=0,row=0,sticky=(N,W,E,S))main

python - 如何将 Tkinter Canvas 坐标转换为窗口?

有没有办法在Tkinter中将Canvas坐标转换为窗口坐标?这与从窗口坐标转换为Canvas坐标相反,它是这样完成的:x=canvas.canvasx(event.x) 最佳答案 使用canvasx和canvasy方法,给定参数零,计算可见Canvas左上角的x/y。然后只需使用数学将Canvas坐标转换为相对于窗口的坐标即可。#upperleftcornerofthevisibleregionx0=self.canvas.canvasx(0)y0=self.canvas.canvasy(0)#givenacanvascoordi