【发布时间】:2017-11-18 04:57:06
【问题描述】:
我编写了一些脚本,其中包含一些函数来进行网络抓取。运行脚本时,使用简单的“打印”命令将结果打印到 IDLE shell。
我有一个基本的 tkinter GUI,它会在单击按钮时运行脚本,但结果仍会打印到 shell。我如何调整我的代码,以便在调用 Master.master() 时,嵌入在该进程中的所有打印语句都打印到我的 GUI 上的某个区域。我的代码如下:
from tkinter import *
import Master #Importing my scraper function
win = Tk()
win.title('Hashtag Scraper')
SearchButton = Button(win,text = 'Search')
SearchButton.grid(row=2,column = 1)
htag_label = Label(win,text = 'What Hashtag?')
htag_label.grid(row = 1,column = 0)
email_label = Label(win,text = 'FB Email')
email_label.grid(row = 1,column = 1)
password_label = Label(win,text = 'FB Password')
password_label.grid(row = 1,column = 2)
def button():
htag = hashtag.get()
user = usr.get()
password = pwd.get()
Master.master(htag,refresh = 3,usr = user,pwd = password) #Function call - want this to print on GUI instead of shell
#win.bind('<Return>', SearchButton)
SearchButton.configure(command = button)
hashtag = StringVar()
#hashtag.set('Hashtag')
hashtag_entry = Entry(win,textvariable=hashtag)
hashtag_entry.grid(row = 0, column = 0)
usr = StringVar()
usr.set('test@aol.com')
usr_entry = Entry(win,textvariable=usr)
usr_entry.grid(row = 0, column = 1)
pwd = StringVar()
#pwd.set('FB Password')
pwd_entry = Entry(win,textvariable=pwd)
pwd_entry.grid(row = 0, column = 2)
【问题讨论】:
-
您可以将输出插入到 tkinter 文本框中。
-
我为我对 python 的无知表示歉意,但这是否会像将我的主函数中的最终“打印”语句更改为返回和设置一样简单,而不是设置一个变量作为结果?
-
这很简单,在这里阅读:effbot.org/tkinterbook/text.htm
标签: python user-interface tkinter