Python 3.4.3 Tkinter TTK文件无法打开

时间:2015-03-10 18:42:49

标签: python tkinter python-3.4 ttk

当我双击.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()

编辑:我已经忘记了添加了代码。对不起,感谢所有答案。

1 个答案:

答案 0 :(得分:1)

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

我的猜测是你的操作系统使用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启动脚本,在Python2上ImportErrortkinter后立即引发Tkinter,并且在没有进一步问题的情况下退出。