当我在本地python编辑器中运行基本代码时,画布保持打开状态。
当我使用Visual Studio代码执行相同的python代码(按F5键运行)时,应用程序运行,但随后立即关闭并返回到编辑器。
以下是代码示例:
import sys
from tkinter import *
def mHello():
mtext = ment.get()
mlabel2 = Label(mGui, text = mtext).pack()
for i in range(0, 10):
Label(mGui, text = "hello " + str(i+1)).pack()
mGui = Tk()
ment = StringVar()
mGui.geometry('450x450+500+300')
mGui.title("my test thing")
mlabel = Label(mGui, text = "press to okay button to run the code").pack()
mbutton = Button(mGui, text = "ok", command = mHello, fg = "white", bg = "blue").pack()
mEntry = Entry(mGui, textvariable = ment).pack()
请问我如何使VS代码的行为与本机编辑器相同?
答案 0 :(得分:1)
Visual Studio代码使用python解释器,该解释器在运行脚本之前先对其进行编译。 由于未在窗口上调用mainloop(),因此窗口将立即关闭。这意味着一旦绘制了窗口,程序就会结束,并且窗口会关闭。
您的窗口在IDLE中不会关闭,因为它在交互式外壳程序中运行。 Shell等待命令,因此它使窗口保持打开状态。有关更多详细信息,请参见此问题:When do I need to call mainloop in a Tkinter application?
您需要做的就是添加:
mGui.mainloop()
脚本的结尾。
答案 1 :(得分:0)
在代码末尾添加input()即可。
input("press enter to close >>>")