Я пытаюсь нажать кнопку tkinter, чтобы открыть новое окно tkinter для выполнения скрипта внутри него до конца с полосой прокрутки, если это необходимо. Тем не менее, я преуспел только в том, чтобы заставить его работать множеством способов в окне Linux, а не в окне tkinter. Может кто-нибудь помочь мне с перенаправлением вывода этого скрипта в окно верхнего уровня?
self.button_run = Button(self, text="RUN", width=16, command=self.callpy)
self.button_run.grid(row=25, column=0, columnspan=2, sticky=(W + E + N + S))
def run_robbot(self):
new = Toplevel(self)
new.geometry('500x200')
label = Message(new, textvariable=self.callpy, relief=RAISED)
label.pack()
def callpy(self):
pyprog = 'check_asim.robot'
call(['robot', pyprog])
В приведенном выше фрагменте, если я передаю callpy команде в Button, он запускает скрипт робота в окне linux. Если я заменю его на вызов run_robbot, чего я и ожидаю, он просто откроет новое окно с окном сообщений, не запуская тот же скрипт, переданный textvariable. Я пробовал войти вместо окна сообщения.
Я хочу, чтобы callpy выполнялся в окне Toplevel tkinter по нажатию кнопки. Как мне это сделать? Подходит любой оператор tkinter, если он ограничен окном tkinter.