Python 3.4.3 Tkinter TTK 文件打不开

Python 3.4.3 Tkinter TTK file not opening

当我双击 .pyw 文件时,它不会 运行 代码并打开 GUI。它在 2.7 中有效,但我不知道。

from tkinter import *
from tkinter import ttk
import os

root = Tk()
root.geometry('%dx%d+0+0' % (180 ,200))
root.title('Title Headder')

def run1():
    #os.startfile("scripts\test.pyw")
    print("Hello")

mainframe = ttk.Frame(root, padding=("6 6 12 12"))
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)

#spacers
ttk.Label(root,text='  ')

ttk.Label(mainframe, text=u"Title", anchor='center',font=("NK57 Monospace", 28, "underline")).grid(in_=mainframe,column=0, row=0, columnspan=3, sticky=EW)

#spacers
ttk.Label(root,text='  ').grid(in_=mainframe,column=0, row=2, columnspan=3, sticky=EW)

#buttons

ttk.Button(mainframe,text = "Button", command=run1).grid(column=1, row=3, sticky=N)

ttk.Button(mainframe, text="Button").grid(in_=mainframe,column=0, row=4, columnspan=3, sticky=EW)

ttk.Button(mainframe, text="Button").grid(in_=mainframe,column=0, row=5, columnspan=3, sticky=EW)

#spacers
ttk.Label(root,text='  ').grid(in_=mainframe,column=0, row=6, columnspan=3, sticky=EW)

ttk.Label(mainframe, text=u"Created by TheEvil_potato", anchor='center',font=("NK57 Monospace", 10)).grid(in_=mainframe,column=0, row=7, columnspan=3, sticky=EW)

root.mainloop()

编辑:我添加了我忘记的代码。对此深表歉意,感谢所有回答。

我无法重现您的错误,但我知道是什么原因造成的。

我的猜测是您的 OS 使用 py2 运行 .pyw 文件。您可以在注册表中仔细检查(假设 Windows)。检查以下键

Computer\HKEY_CLASSES_ROOT\Python.NoConFile\shell\open\command

并将其 default 值更改为

"C:\Python34\pythonw.exe" "%1" %*

或者您的 Python3 安装位置。我的猜测是,和我一样,它目前显示为

"C:\Python27\pythonw.exe" "%1" %*

它使用 Python2 启动脚本,立即抛出 ImportError,因为 tkinter 在 Python2 上是 Tkinter,然后退出没有进一步的问题。