'Tkinter Python Execution Issue
I am trying to execute code using tkinter GUI. I am not able to execute output. However, When I try only subprocess method it works fine. Can you please let me know what is wrong here.
from tkinter import *
import subprocess
main_window = Tk()
Label(main_window, text="Name of Test").grid(row =0,column=0)
test = Entry(main_window, width=50, borderwidth=5).grid(row=0,column=1)
Def on_click():
If test == "abc": subprocess.run(['python',r'C:\User\abc.py'], stdout=subprocess.PIPE)
Button(main_window, text='Run', command = on_click).grid(row=2, column=1)
main_window.mainloop()
Also, how to exit GUI window once process is complete?
Thanks
Solution 1:[1]
My guessing on what you were trying to achieve
from tkinter import *
import subprocess
main_window = Tk()
Label(main_window, text="Name of Test").grid(row=0, column=0)
entry = Entry(main_window, width=50, borderwidth=5)
entry.grid(row=0, column=1)
def on_click():
entry_text_content = entry.get()
if entry_text_content == "abc":
subprocess.run(
['python',r'C:\User\abc.py'],
stdout=subprocess.PIPE,
)
Button(main_window, text='Run', command = on_click).grid(row=2, column=1)
main_window.mainloop()
Please pay attention to the comparison of the input: I'm not comparing entry with "abc", but I'm calling entry.get() at first to retrieve text from the entry, and then compare this text with "abc".
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
