当我双击.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()
编辑:我已经忘记了添加了代码。对不起,感谢所有答案。
答案 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上ImportError
为tkinter
后立即引发Tkinter
,并且在没有进一步问题的情况下退出。