Visual Studio代码画布打开然后关闭

时间:2018-08-11 10:57:09

标签: python python-3.x tkinter visual-studio-code

当我在本地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代码的行为与本机编辑器相同?

2 个答案:

答案 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 >>>")