|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import tkinter
import tkinter.scrolledtext #导入滚动文本框的模块
from tkinter.scrolledtext import ScrolledText
import threading
import requests
from bs4 import BeautifulSoup
import datetime
def get():
res = requests.get('http://sports.qq.com/nba/')
res.encoding = 'gb2312'
soup = BeautifulSoup(res.text,'html.parser')
news = soup.select('a.bold') + soup.select('a.icon-v') + soup.select('div.col-left ul li a')
return news
def write():
id = 0 #新闻个数
for new in get():
href = new.get('href')
title = new.text #title = new.string
id += 1
print('%d'%id + '、' + title + ' ' + href)
text.insert('%d' % id + '、' + title + ' ' + href )
var1.set('已读取%d条新闻' % id)
var1.set('读取完毕!')
def th():
t1 = threading.Thread(target=write)
t1.start()
root = tkinter.Tk() #顶层窗口
root.title('腾讯NBA新闻')
root.geometry('800x500')
#packer来管理和显示控件
button = tkinter.Button(root,text='开始读取腾讯NBA新闻',bg='#33ff33',command=th) #按钮控件
button.pack()
var1 = tkinter.StringVar() #设置变量,文字会发生变化,tk绑定一个变量
labe1 = tkinter.Label(root,fg='red',textvariable=var1)
var1.set('读取中...')
labe1.pack()
# text = tkinter.Text(root,) #用于显示多行文本
# text.pack()
var2 = tkinter.StringVar()
tkinter.Label(root,textvariable=var2).pack()
var2.set(get())
# t = tkinter.Text(root).pack()
text = ScrolledText(root,width=100,height=70,background='#ffffff') #滚动文本框
text.pack()
# text.pack(expand=1, fill="both")
root.mainloop() #调用 mainloop()来运行 GUI 程序
关于insert的用法不是很清楚,查询过度娘,但是知识点甚少,望论坛中的高手帮我解惑一二,谢谢
我想要达到的效果是GUI中显示的内容和后台print的内容一样
本帖最后由 lumber2388779 于 2017-3-7 18:21 编辑
http://blog.csdn.net/xe8551ccb/article/details/52184206
参考下这个Listbox组件,我觉得用法应该大同小异
第一个参数是位置,第二参数是插入的文本信息
|
-
|