Python tkinter:使输出显示在GUI上不在shell中的文本框中

时间:2013-11-30 15:47:11

标签: python textbox tkinter output

我有一个tkinter菜单,让用户可以选择一些功能。我想如果该函数的输出是在Tkinter而不是Shell上的texbox上呈现的。我对Tkinter非常缺乏经验。我没有任何想法怎么做..

某些功能需要用户输入,用户是否可以直接从Tkinter Gui输入?

程序菜单的代码:

函数:situacaocorrente(),findfuncionario(),verhistorico()不在此处。

CODE

from Tkinter import Tk, Frame, Menu, Label, Text
import sys



class Example(Frame):

    def __init__(self, parent):
        Frame.__init__(self, parent)   

        self.parent = parent
        self.output = Text(self)
        self.output.pack()
        sys.stdout = self
        self.initUI()

    def initUI(self):

        self.parent.title("High Flex")


        menubar = Menu(self.parent)
        self.parent.config(menu=menubar)

        fileMenu = Menu(menubar)

        fileMenu.add_command(label="Procurar funcionario", command=self.procurarfuncionario)
        fileMenu.add_command(label="Ver Historico", command=self.historico)
        fileMenu.add_command(label="Verificar Onde se encontram os funcionarios", command=self.funcionariosturno)

        fileMenu.add_command(label="Sair", command=self.onExit)
        menubar.add_cascade(label="INICIAR", menu=fileMenu)

    def funcionariosturno(self):
        situacaocorrente()

    def procurarfuncionario(self):

        findfuncionario()

    def historico (self):
        verhistorico()


    def onExit(self):
        self.quit()

    def write(self, txt):
        self.output.insert(END,str(txt))




def main():

    root = Tk()
    root.geometry("250x150+300+300")
    app = Example(root)


    root.mainloop()

1 个答案:

答案 0 :(得分:0)

您可以使用Entry()来获取用户输入。有关详情,请参阅:An Introduction to Tkinter

我不知道你试图在self.output中输出什么函数 - 来自shell中的外部程序或python函数。

sys.stdout = self仅适用于print

等Python函数