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

问题描述 投票:0回答:1

我正在tkinter上使用数据库GUI,但是每当我尝试将某些函数相互嵌套时,总是会出现无法预料的问题,因此,我想问一下是否有可能使按钮运行一个功能来检查一个条件,如果为true,则运行另一个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 tkinter
1个回答
0
投票

您可以将新窗口的代码移至其他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

中>

两个文件都必须位于同一文件夹中。您可以运行main.py,即使Button的代码显示“ Hello!”,它也可以正常运行。在另一个文件中。所有python文件都是可以从其中导入函数,类和变量的库。通过添加if __name__ == "__main__",您可以测试您的功能是直接启动还是由其他程序导入。要了解有关__name__和导入其他python文件的更多信息,请查看What does if __name__ == "__main__": do?

© www.soinside.com 2019 - 2024. All rights reserved.