草庐IT

python - 如何在 Tkinter 中实现 MVC 模式

我需要一个将MVC模式与PythonTK结合使用的基本示例。我有一些使用Tkinter的代码,但是我想使用MVC模式转换它。 最佳答案 我知道这已经很老了,但我能够找到一些使用MVC模式的Tk和wxPython的不错的例子,希望它们能为遇到这个问题的任何人提供一些帮助。wxPython:http://wiki.wxpython.org/ModelViewControllerTk:http://tkinter.unpythonic.net/wiki/ToyMVC该网站已不存在,因此我将代码托管在Gisthere上.

python - tkinter optionmenu 第一个选项消失

一个ttkoptionmenu小部件从下拉列表中的所有值开始。选择任何值后,列表中的第一个值就会消失,再也不会出现...有人知道为什么吗?这是小部件设计的一个特点吗?尝试以下操作:importtkinter.ttkasttkimporttkinterastka=tk.Tk()options=['1','2','3']value=tk.StringVar()masterframe=ttk.Frame()masterframe.pack()dropdown=ttk.OptionMenu(masterframe,value,*options)dropdown.pack()a.mainloop

python - 向 tkinter 文本小部件添加高级功能

我正在开发一个简单的消息系统,需要将以下内容添加到Tkinter文本小部件中:拼写检查更改字体的选项(在选定的文本上)更改字体颜色的选项(在选定的文本上)更改字体大小的选项(在所选文本上)我知道tkinter文本小部件可以通过标记机制使用多种字体和颜色,但我不明白如何使用这些功能。如何使用文本小部件的功能来实现这些功能?具体来说,我如何更改字词的字体系列、颜色和大小,以及我如何使用它来实现拼写检查之类的功能,其中拼写错误的字词带有下划线或颜色与文本的其余部分不同。 最佳答案 Tkinter文本小部件非常强大,但您必须自己完成一些高级

python - Tkinter askopenfilename() 不会关闭

我正在使用以下代码片段打开文件选择器对话框。它可以很好地打开对话框,但在选择文件后,对话框会在我其余代码的执行期间保持打开状态,即3-4分钟。我以为root.destroy()会像关闭其他Tkinter窗口一样关闭打开的文件对话框,但事实并非如此。fromtkinterimport*fromtkinter.filedialogimportaskopenfilenameroot=Tk()root.withdraw()file_path=askopenfilename()root.destroy()在选择文件后,如何关闭打开的文件对话框?我在OSX10.10上使用3.4.3版

python - 如何在 Tkinter 中使用 "native"GUI 外观?

默认情况下,Tkinter仍然使用旧的Windows2000风格的小部件(随机示例):但我希望它改用WindowsXP/Vista/7风格的小部件:我该怎么做?我更愿意使用最新的样式版本,所以Windows7>Vista>XP>2000。 最佳答案 在Windows上,使用tkinter.ttk获取Tk的主题版本。 关于python-如何在Tkinter中使用"native"GUI外观?,我们在StackOverflow上找到一个类似的问题: https://

python - 如何在 Tkinter 中更改文本光标颜色?

我有一个深色背景的文本小部件,但看不到光标的位置。有没有办法改变(闪烁的)文本光标的颜色? 最佳答案 您可以将文本小部件的insertbackground选项更改为任何您想要的。 关于python-如何在Tkinter中更改文本光标颜色?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14284492/

python - 如何使用 Tkinter 创建填充窗口宽度的换行文本?

Label小部件不换行。Message小部件将换行文本,但强制它大致为正方形。这是一个例子:fromTkinterimport*root=Tk()root.title("hello")Message(root,text=48*'xxxxx').grid(row=0,column=0,columnspan=3)Label(root,text='Name:').grid(row=1,column=0)Entry(root,width=50).grid(row=1,column=1)Button(root,text="?").grid(row=1,column=2)Button(root,t

python - Tkinter 将行号添加到文本小部件

尝试学习tkinter和python。我想在相邻的框架中显示文本小部件的行号fromTkinterimport*root=Tk()txt=Text(root)txt.pack(expand=YES,fill=BOTH)frame=Frame(root,width=25)#frame.pack(expand=NO,fill=Y,side=LEFT)root.mainloop()我在一个名为unpythonic的网站上看到了一个示例,但它假定txt的行高为6像素。我正在尝试这样的事情:1)将Any-KeyPress事件绑定(bind)到一个函数,该函数返回发生按键的行:textPad.bi

python - 如何对 tkinter "scrolledtext"模块进行编码

下面的代码产生了一个在文本小部件中使用滚动条的丑陋但实用的示例,并产生了几个问题。注意:这是在Windows机器上使用Python3完成的。出现的滚动条附加到框架,虽然它滚动文本框内容,但我更希望它附加到文本小部件本身。我无法让这一切发生。有许多对名为“scrolledtext”的Tkinter模块的引用,该模块被认为是向文本框添加滚动条的更好机制,但我还没有找到任何有关如何导入它和调用它的示例我能够开始工作(可能需要一个例子)。frame1=tk.Frame(win,width=80,height=80,bg='#808000')frame1.pack(fill='both',exp

python - 如何使用 tkinter 中的按钮设置 `Entry` 小部件的文本/值/内容

我正在尝试使用tkinter模块在GUI中使用按钮设置Entry小部件的文本。这个GUI是为了帮助我将数千个单词分为五类。每个类别都有一个按钮。我希望使用按钮可以显着加快我的速度,我想每次都仔细检查单词,否则我只会使用按钮并让GUI处理当前单词并输入下一个单词。出于某种原因,命令按钮的行为不像我希望的那样。这是一个例子:importtkinterastkfromtkinterimportttkwin=tk.Tk()v=tk.StringVar()defsetText(word):v.set(word)a=ttk.Button(win,text="plant",command=setTe