我寫了一些包含少量函數的腳本來完成一些網頁掃描。運行腳本時,結果使用簡單的「打印」命令打印到IDLE shell。打印到Tkinter GUI,而不是控制檯
我有一個基本的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('[email protected]')
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文本框中。 – Stack
我對我的python無知表示歉意,但是如此簡單,只需將主函數中的最終「打印」語句更改爲返回和設置,而不是將結果設置爲變量? –
這很簡單,只需在這裏閱讀:http://effbot.org/tkinterbook/text.htm – Stack