如何使tkinter按钮运行另一个python文件

如何使tkinter按钮运行另一个python文件,python,tkinter,Python,Tkinter,我正在tkinter中开发一个数据库GUI,但每当我尝试将一些函数嵌套在另一个函数中时,总是会出现不可预测的问题,因此我想问一下,是否可以让按钮运行一个检查条件的函数,如果是真的,它会运行另一个打开另一个窗口的script.py文件。可能吗 我已经尝试将它们压入一个文件,但是出现了奇怪的问题,而且文件太大,无法在这里发布,所以我正在寻找一个更简单的解决方案 我是一个初学者,所以我不是百分之百确定,但我想它看起来会像这样 from tkinter import * if name.get() ==

我正在tkinter中开发一个数据库GUI,但每当我尝试将一些函数嵌套在另一个函数中时,总是会出现不可预测的问题,因此我想问一下,是否可以让按钮运行一个检查条件的函数,如果是真的,它会运行另一个打开另一个窗口的script.py文件。可能吗

我已经尝试将它们压入一个文件,但是出现了奇怪的问题,而且文件太大,无法在这里发布,所以我正在寻找一个更简单的解决方案

我是一个初学者,所以我不是百分之百确定,但我想它看起来会像这样

from tkinter import *
if name.get() == user_name AND pword.get() == password:
    r = Tk()
    my_btn = Button(r, text= "submit",command = open_py)
    my_btn.grid(row=0,column=0)
    r.mainloop()
这是可能的还是不可能的。
“open_py():”看起来如何?

您可以将新窗口的代码移动到不同的python文件并导入它

例如:

import tkinter as tk

def open_dialog():
    root = tk.Tk()
    button = tk.Text(root, text="Hello!")
    button.pack(root)

    root.mainloop()


if __name__ == "__main__":
    open_dialog()

在hello_dialog.py中

import tkinter as tk
from hello_dialog import open_dialog

def main():
    root = tk.Tk()
    button = tk.Button(root, text="Start!", command=open_dialog)
    button.pack(root)

    root.mainloop()
main.py中

import tkinter as tk
from hello_dialog import open_dialog

def main():
    root = tk.Tk()
    button = tk.Button(root, text="Start!", command=open_dialog)
    button.pack(root)

    root.mainloop()
两个文件必须位于同一文件夹中。您可以运行main.py,即使显示“Hello!”的按钮的代码在不同的文件中,它也可以正常运行。所有python文件都是可以从中导入函数、类和变量的库。通过添加
如果uuuu name_uuuu==“uuuu main_uuu”
可以测试函数是直接启动的还是由其他程序导入的。要了解有关
\uuuuu name\uuuuuu
和导入其他python文件的更多信息,请查看。

阅读