Python 如何从PyQt GUI打开Tkinter应用程序
我已经用PySide2(PyQt)构建了一个应用程序。现在我被要求制作一个QPushButton,它只是启动一个独立的Tkinter应用程序,其他人已经编写了这个程序。 我想我可以简单地将下面的方法连接到启动Tkinter应用程序的QPushButton(Modell_final.App就是这个应用程序): 但当我在GUI中按下按钮时,第一次什么也没发生,第二次Tkinter应用程序打开并立即冻结。Python 如何从PyQt GUI打开Tkinter应用程序,python,tkinter,pyqt,Python,Tkinter,Pyqt,我已经用PySide2(PyQt)构建了一个应用程序。现在我被要求制作一个QPushButton,它只是启动一个独立的Tkinter应用程序,其他人已经编写了这个程序。 我想我可以简单地将下面的方法连接到启动Tkinter应用程序的QPushButton(Modell_final.App就是这个应用程序): 但当我在GUI中按下按钮时,第一次什么也没发生,第二次Tkinter应用程序打开并立即冻结。 感谢您的帮助:)我不确定Tkinter应用程序的独立性。如果它真的只是你想要运行的某个小窗口,最
感谢您的帮助:)我不确定Tkinter应用程序的独立性。如果它真的只是你想要运行的某个小窗口,最终又被关闭了,我会为它选择一个自己的进程 你可以这样试试。请将其保存为“test\u test.py” 如果它是真正完全独立的,那么您甚至不需要将Modell_final导入PyQt应用程序。只需导入子流程,让按钮调用
subprocesss.popen
(而不是subprocesss.call
,然后再次冻结)python文件,其中包含tkinter应用程序
缺点是
def open_tkinter():
root = tkinter.Tk()
app = Modell_final.App(root)
root.mainloop()
import tkinter as tk
import subprocess
window = tk.Tk()
window.title("Window Title")
window.geometry('200x100')
lbl = tk.Label(window, text="Hello World")
lbl.pack()
def clicked(): #function before bind
subprocess.Popen(['python' , 'test_test.py'])
btn = tk.Button(window, text="Click Me", command=clicked)
btn.pack()
window.mainloop()