Я написал некоторый код, предназначенный главным образом для использования с консолью, но мне было предложено создать для него простой графический интерфейс для удобства использования.В нем я устанавливаю основной фрейм с виджетами и использую команду виджетов для вызова функции, которую я импортирую.Однако все импортированные функции и модули записывают в консоль вывода.Есть ли способ вернуть выходную строку / вывод консоли для обновления в графическом интерфейсе при запуске подпроцесса?
Пример сценария:
import Tkinter as *
import myModule1
class MyGUI(Frame):
def __init__(self):
# Initialization stuff.
self.initGUI()
def initGUI(self):
self.downloadButton = Button(text="Download data.")
self.downloadButton["command"] = myModule1.function
# This function from myModule1 will constantly print to the console as the process is performed - is there any way to have this displayed in the GUI as a ScrollBar?
.....
В качестве альтернативы, есть ли способ сделатьдиалоговое окно появляется во время работы процесса?Я спрашиваю, потому что я встроил много операторов print в myModule1 и его подмодули, которые возвращают то, что происходит на консоль.Было бы неплохо отобразить их для пользователей, работающих с графическим интерфейсом, и я преобразовываю его в .exe для удобства использования теми, кто будет его использовать.
Спасибо.
РЕДАКТИРОВАТЬ: Пример того, как myModule1.function
может выглядеть:
import otherModule
def function1():
log = otherModule.function2():
if log == True:
print "Function 2 worked."
elif log == False:
print "Function 2 did not work."
Тем не менее, function2
в otherModule
выводит на консоль, когда он выполняет свои вычисления.Здесь это явно не показано, но вывод консоли будет, по сути, серией вычислений, за которыми последует пример if / elif, показанный выше.