如何在新窗口中从.py文件调用另一个python脚本

如何在新窗口中从.py文件调用另一个python脚本,python,tkinter,Python,Tkinter,我遇到了一个问题,我想单击全屏应用程序上的按钮 test1 from tkinter import * from tkinter import ttk from tkinter import messagebox import os root = Tk() root.title('Gamesim') root.geometry('500x400') def cmdopen(): os.system('C:\Users\User\Desktop\test2.py') btn = B

我遇到了一个问题,我想单击全屏应用程序上的按钮

test1

from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import os

root = Tk()
root.title('Gamesim')
root.geometry('500x400')

def cmdopen():
    os.system('C:\Users\User\Desktop\test2.py')


btn = Button(text='test', command=cmdopen)
btn.pack()

root.mainloop()
test2

from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import os


root = Tk()
root.title('Gamesim')
root.geometry('1870x1080')
root.attributes("-topmost", True)


btn = Button(text='test2')
btn.pack()

root.mainloop()
它所做的是显示test2接口,但TestOne停止响应。我想要的是test2将显示在上面,两者都将响应,并且是不同的窗口


我英语不好,如果我有一些问题,很抱歉。

如果你可以用一个“主”窗口跟踪其他窗口,那么你可以这样做:

from tkinter import *
from tkinter.ttk import *
from functools import partial


class subWindow(Toplevel):
    def __init__(self, master=None):
        super().__init__(master=master)

def createSubwindow(master):
    """Creates a subWindow of 'master' and sets it's options"""
    subWin = subWindow(master)
    subWin.title('SubWindow')
    subWin.geometry('500x400')
    subWin.attributes("-topmost", True)
    btn = Button(subWin, text='Button Inside of SubWindow')
    btn.pack()

# Creating the master-window
root = Tk()
root.title('MasterWindow')
root.geometry('500x400')

# Creates a partial of the createSubwindow, so that we can execute it easier in the button.
subWinPartial = partial(createSubwindow, root)

# Installs the button, with the partial function as a command.
btn = Button(root, text='Create Sub Window', command=subWinPartial)
btn.pack()

# Runs the mainloop, that handles all the windows.
root.mainloop()

不要使用
os.system('C:\Users\User\Desktop\example.py')
使用简单的导入。如果此解决方案符合您的需要,它应该会解决您的问题。如果不符合您的需要,您需要创建一个其他进程或线程,在该进程或线程中,您可以像使用os.system()一样调用其他应用程序。在您的情况下,第二个应用程序的循环正在阻止第一个应用程序。如果需要,我将帮助您处理这些过程。@TheLizzard我认为一个应用程序中只能存在一个根窗口(并且只有一个主循环)。我想OP正在尝试模块化它们的代码。如果您能遵循PEP 8的命名约定,那也太好了。@TheLizzard您可以“模块化”他的代码,使用与我在代码中使用的相同的思维过程。您能否添加一个脚注,说明
createSubwindow
可以在另一个文件中定义,并使用导入createSubwindow中的
导入?我不能100%确定OP是否知道在给定代码的情况下导入是如何工作的。他们使用了
os.system('C:\Users\User\Desktop\example.py')
而不是
import-example
,这表明他们是pythonI的新手。我尝试使用import,但除非我使用os插入路径,否则无法工作。效果是一样的。另一个文件实际上在另一个文件夹中,与我的示例不同。