繁体   English   中英

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

[英]How to make a tkinter button run another python file

我正在使用 tkinter 中的数据库 GUI,但是每当我尝试将某些功能相互嵌套时,它总是会产生不可预知的问题,所以我想问一下是否可以让按钮运行 function 来检查条件和如果是真的,它会运行另一个 script.py 文件,该文件会打开另一个 window。 那可能吗

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

我是初学者,所以我不是百分百确定,但我认为它看起来像这样

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():”会是什么样子

您可以将新 window 的代码移动到不同的 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__"您可以测试您的 function 是直接启动还是由其他程序导入。 要了解有关__name__和导入其他 python 文件的更多信息,请查看What does if __name__ == "__main__": do? .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM