【问题标题】:Python TKinter Gui not updatingPython TKinter Gui 不更新
【发布时间】:2014-11-12 00:27:09
【问题描述】:

我有一个简单的 TKinter GUI,它有一个文本输入框和一个按钮。我想输入文本,单击按钮,然后让我的程序打印文本。 GUI 工作正常,除非当我单击文本输入框并键入时,在我调整窗口大小或单击按钮之前,我看不到光标或文本。当我单击按钮时,文本显示在输入框中并返回。当我输入文本时,GUI 没有更新。我在 OS X 10.10 上运行 Python 3.4。欢迎任何想法。

代码如下:

#!/usr/bin/env python
from tkinter import *

def getstring():
    filter_string= sfilter.get()
    print('User Entered:', filter_string)
    root.destroy()
    return

root = Tk()
root.geometry('400x400+500+300')
root.title("Extract")

sfilter= StringVar()

label1= Label(root, text= "Design Corner Filter:").grid(row=1, column=1)
dfilter_box= Entry(root, textvariable=sfilter).grid(row=1,column=2)
button1= Button(root, text= 'Plot', command= getstring).grid(row=2, column=2)

root.mainloop()

【问题讨论】:

  • 对我来说似乎工作正常:python 3.4.0,Ubuntu 14.04 x86_64
  • 感谢您查看我的代码 Marcin。我认为这是 Mac OS X 的问题。我可以补充一点,我使用 Anaconda 安装了 Python 3.4.1。当我检查我得到的版本时 - Python 3.4.1 :: Anaconda 2.1.0 (x86_64)。 tkinter 的版本是 tk-8.5.15-0。

标签: python tkinter osx-yosemite


【解决方案1】:

不工作:Windows 7,python3.4.1

如果您不需要字符串变量,您可以在小部件上调用 get 方法

dfilter_box.get()

【讨论】:

  • 我相信 Anaconda 安装存在问题。当我使用 Homebrew 安装 Python3.4.1 并运行脚本时,GUI 工作正常。我相信问题在于 Anaconda 安装中使用的 tk 版本。我发现这似乎是同一个问题:github.com/ContinuumIO/anaconda-issues/issues/146。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
  • 2017-02-27
  • 1970-01-01
  • 1970-01-01
  • 2015-08-26
相关资源
最近更新 更多