我正在嘗試使用Tkinter爲我的Python程序製作啓動程序。我使用了execfile函數,幸運的是它打開了目標GUI。然而,沒有一個按鈕可以工作,並且它會說大多數函數引用的全局變量沒有被定義。「execfile」無法正常工作
的代碼到啓動程序:
def launch():
execfile("gui.py")
工程。爲目標程序的基本代碼:
from Tkinter import *
gui = Tk()
gui.title("This is a GUI")
編輯: 一個按鈕的實施例:
def buttonWin():
buttonWindow = Toplevel(gui)
button = Button(buttonWindow, text = "Button", width = 10, command = None)
button.pack()
當引用「GUI」爲Toplevel的變量,它具有一個錯誤出現。我試圖在啓動腳本中定義的「鬼」變量,但只造成目標腳本打開第一,而不是啓動:
gui = Tk()
launcher = Tk()
launcher.title("Launcher")
def launch():
return execfile("gui.py")
launchButton = Button(launcher, text = "Launch", width = 10, command = launch)
當我嘗試按這個程序的按鈕中的一個,我得到一個NameError : $ NameError:全局變量'gui'未定義$ 另外這是在Python 2.7.5中。 謝謝任何回答的人,並對代碼塊的任何錯誤感到抱歉;我是新來的。
該代碼片段中沒有按鈕,什麼是沒有正確格式化,所以有點難以知道你的問題是什麼。如果您使用命令行中的Python解釋器運行它,腳本是否可以正常工作?你能剝奪你的例子,但仍然失敗,但小到足以發佈? – Fredrik
好吧,我編輯帖子以包含按鈕代碼。實際上,出於某種原因,我的電腦不讓我運行我沒有存儲在我的Python27文件夾中的程序。當我在命令行輸入「python launcher.py」時,它只是說「'python'不是一個可識別的應用程序或批處理文件。」抱歉,不清楚,我在溝通這些事情時遇到了一些小問題。 – Majora64