【问题标题】:tkinter button to open new window and run scripttkinter 按钮打开新窗口并运行脚本
【发布时间】:2014-11-19 16:55:25
【问题描述】:

我有一个 tkinter 按钮,我想用它在新的 cmd 窗口中运行现有的 python 脚本。我该怎么做? 我可以让新的 cmd 窗口出现,但是如何在其中运行脚本?

谢谢, 克里斯。

【问题讨论】:

  • 您没有说明如何显示 cmd 窗口,或者您使用的是什么操作系统,但请阅读 subprocess.POpen 的文档并进行实验,直到正确为止。
  • 好的,我在Win7上,目前的代码是:` from Tkinter import * from sys import executable from subprocess import Popen, CREATE_NEW_CONSOLE import os def delprof(): Popen(["cmd.exe "], creationflags=CREATE_NEW_CONSOLE) `

标签: python-2.7 tkinter


【解决方案1】:

如果您编辑问题以添加它(允许,只需将其标记为已编辑并在评论中说明)而不是在评论中,多行代码更具可读性。

from Tkinter import *
from sys import executable
from subprocess import Popen, CREATE_NEW_CONSOLE
import os
def delprof(): Popen(["cmd.exe"], creationflags=CREATE_NEW_CONSOLE) ` 

如果你得到一个带有提示的控制台,你可以运行 python 或做任何其他事情。要运行特定的 python 程序,以下适用于我 (3.4)。

from tkinter import *
from subprocess import call

pyprog = 'tem2.py'
def callpy(): call(['python', '-i', pyprog] )

root = Tk()
Button(root, text='Run', command=callpy).pack()
root.mainloop()

运行程序时,控制台通常会在程序结束时消失。为了防止使用 python 程序发生这种情况,所以可以看到输出,或者输入类似

input('hit enter to exit')

在程序结束时或以“-i”开头,就像我在上面所做的那样。这也允许执行额外的交互式语句来检查结果

【讨论】:

    猜你喜欢
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    相关资源
    最近更新 更多