Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python2.7:Tkinter错误:#这里可能会出现TclError_Python_Tkinter - Fatal编程技术网

Python2.7:Tkinter错误:#这里可能会出现TclError

Python2.7:Tkinter错误:#这里可能会出现TclError,python,tkinter,Python,Tkinter,我从GUI开始,使用Tkinter和Python。 我正在尝试为游戏创建一个图形界面。 当我尝试运行此程序时: import Tkinter as tk import ttk def create_frame(parent, col, r, st): frame = ttk.Frame(parent, padding="3 3 12 12") frame.grid(column=col, row=r, sticky=st)

我从GUI开始,使用Tkinter和Python。 我正在尝试为游戏创建一个图形界面。 当我尝试运行此程序时:

    import Tkinter as tk
    import ttk

    def create_frame(parent, col, r, st):
        frame = ttk.Frame(parent, padding="3 3 12 12")
        frame.grid(column=col, row=r, sticky=st)
        frame.columnconfigure(0, weight=1)
        frame.rowconfigure(0, weight=1)
        return frame
    def create_frame(parent, col, r, st):
        frame = ttk.Frame(parent, padding="3 3 12 12")
        frame.grid(column=col, row=r, sticky=st)
        frame.columnconfigure(0, weight=1)
        frame.rowconfigure(0, weight=1)       
        return frame
    def create_entry(parent, col, r, st, w):
        val = tk.StringVar()
        entry = ttk.Entry(parent, width=w, textvariable=val)
        entry.grid(column=col, row=r, sticky=st)
        return val, entry
    def create_label(parent, col, r, st, text = None):
        if text == None:
            val = tk.StringVar()
            label = ttk.Label(parent, textvariable = val)
        else:
            label = ttk.Label(parent, text = text)
            val = None
        label.grid(column = col, row = r, sticky = st)
        return val
    def create_button(parent, col, r, st, com, text):
        button = ttk.Button(parent, text = text, command = com)
        button.grid(column = col, row = r, sticky = st)
    def create_main_window():
        root = tk.Tk()
        root.title("Scrabble")
        main_frame = create_frame(root, col = 0, r = 0, st = (tk.N, tk.W,     tk.E, tk.S))
        feet_val, feet_entry = create_entry(main_frame, col = 2, r = 1, st =     (tk.W, tk.E), w = 7)
        meters = create_label(main_frame, col = 2, r = 2, st = (tk.W, tk.E))
        create_label(main_frame, text = "feet", col = 3, r = 1, st = tk.W)
        create_label(main_frame, text = "is equivalent to", col = 1, r = 2,     st = tk.E)
        create_label(main_frame, text = "meters", col = 3, r = 2, st = tk.W)
        for child in main_frame.winfo_children():
            child.grid_configure(padx=5, pady=5)

        feet_entry.focus()
        root.mainloop()

    create_main_window()
但我收到以下错误消息:

  File "Scrabble.py", line 175, in <module>
    create_main_window()
  File "Scrabble.py", line 160, in create_main_window
    main_frame = create_frame(root, col = 0, r = 0, st = (tk.N, tk.W, tk.E,     tk.S))
  File "Scrabble.py", line 131, in create_frame
    frame = ttk.Frame(parent, padding="3 3 12 12")
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-    tk/ttk.py", line 761, in __init__
    Widget.__init__(self, master, "ttk::frame", kw)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-    tk/ttk.py", line 559, in __init__
    _load_tile(master)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-    tk/ttk.py", line 47, in _load_tile
    master.tk.eval('package require tile') # TclError may be raised here
_tkinter.TclError: can't find package tile
文件“Scrabble.py”,第175行,在
创建主窗口()
文件“Scrabble.py”,第160行,在create_主窗口中
main_frame=create_frame(根,列=0,r=0,st=(tk.N,tk.W,tk.E,tk.S))
文件“Scrabble.py”,第131行,在create_框架中
frame=ttk.frame(父级,padding=“3 3 12”)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/ttk.py”,第761行,在__
Widget.\uuuu初始化(self,master,“ttk::frame”,kw)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/ttk.py”,第559行,在__
_加载瓷砖(主)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/ttk.py”,第47行,在加载块中
master.tk.eval('package require tile')#此处可能会出现错误
_tkinter.TclError:找不到包磁贴
我该怎么办? 你有什么建议给我作为一个开始吗? 先谢谢你。
MFF

根据显示的路径,您似乎正在OS X上使用python.org python 2.7。根据您正在运行的OS X版本以及您使用的python安装程序,Tcl/Tk版本可能不包括ttk或tile(其前身)。如果您使用的是64/32位Python 2.7(版本行将显示
GCC 4.2.1
),请尝试从安装ActiveState Tcl/Tk 8.5。如果使用python.org仅32位安装程序(
gcc4.0.1
),请安装ActiveState Tcl/Tk 8.4。有更多关于Mac OS X Python安装程序和Tcl/Tk版本的信息。

根据显示的路径,您似乎正在OS X上使用Python.org Python 2.7。根据您正在运行的OS X版本和您使用的Python安装程序,Tcl/Tk版本可能不包括ttk或tile(其前身)。如果您使用的是64/32位Python 2.7(版本行将显示
GCC 4.2.1
),请尝试从安装ActiveState Tcl/Tk 8.5。如果使用python.org仅32位安装程序(
gcc4.0.1
),请安装ActiveState Tcl/Tk 8.4。还有更多关于Mac OS X Python安装程序和Tcl/Tk版本的信息。

实际上,我了解了一些关于Mac OS X Python安装程序和Tcl/Tk版本的信息。我终于安装了适合我的操作系统的Python:)谢谢!实际上,我了解了一些关于MacOSX Python安装程序和Tcl/Tk版本的信息。我终于安装了适合我的操作系统的Python:)谢谢!