使用Text控件、Scrollbar控件实现一个阅读新闻的窗口
实现代码如下:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
# 设置窗口标题
root.title('新闻阅读')
# 设置窗口宽度600 高度500
root.geometry('600x500')
content1 = """
中国天气网讯 “春天的味道,夹杂着泥土的气息。”今年以来,我国北方遭遇5次沙尘天气过程。根据预报,明天(3月26日)开始到28日,北方又将出现一次大范围沙尘天气过程,北京等华北地区本周末将现扬沙或浮尘,局地有沙尘暴。为什么今年沙尘天气格外频繁?中国天气网分析师详细解答。
北方将迎新一轮沙尘天气 北京周日空气质量转差
今天,受高空槽东移和弱冷空气东移南下影响,沙尘天气主要出现在西北地区一带。明天开始,受蒙古气旋东移影响,我国北方还将陆续出现一次较强沙尘天气过程。预计明天,内蒙古中部、河北北部等地有扬沙或浮尘天气。本周末,沙尘天气范围扩大,甘肃、内蒙古、宁夏、陕西、山西、河北、北京、天津、辽宁、山东等地将出现扬沙或浮尘天气,局地有沙尘暴。
其中,北京地区周日将再现沙尘天气,空气质量转差。预计受影响的时间为凌晨至白天,以扬沙为主。
"""
content2 = """
3月15日,北京遭遇沙尘天气,天空昏黄土腥味浓。(图/中国天气网王晓)
对于此前出现的近10年来最强沙尘过程,不少人记忆犹新,这次的沙尘是否会跟上次一样强呢?中国天气网分析师张娟表示,由于同样受蒙古气旋的影响,即将到来的沙尘过程与上次影响路径相似,但气旋强度弱于上次,所以沙尘天气的整体强度偏弱,影响范围也偏小。
沙源地前期异常偏暖 致今年沙尘过程多于常年
截至昨天,今年以来北方地区已出现5次沙尘天气过程,和常年1月至3月沙尘天气次数基本相当。今后四天还将出现2次沙尘天气过程,使得今年沙尘天气多于常年同期。
到底是什么原因造成了今年沙尘天气如此频繁?张娟表示,2月中下旬开始,北方多地异常偏暖,内蒙古中西部沙源地偏暖幅度同期少见,土壤提前解冻,并且降水也持续偏少,蒙古国也出现类似的情况,所以在蒙古气旋、冷空气带来的大风影响下就会频频掀起沙尘天气过程。
从常年数据统计来看,每年进入3月以后,我国北方沙尘天气也是进入高发期。春季气温回升迅速,北方沙源地开始解冻,加上北方冷空气活动频繁,大风天气多发,就容易把地表的土或沙吹起来,从而形成沙尘天气。
气象专家提醒,关闭门窗是躲避沙尘的有效方法,沙尘天气来袭时,老人、儿童及患有呼吸道系统疾病、易过敏人群应尽量减少外出,如果必须出门,需做好健康防护,外出回家后及时清洗面部和口鼻。
"""
txt = tk.Text(
root,
font=('楷体', 15),
bg='#e9faff',
width=650,
height=400
)
# 插入文本1
txt.insert(tk.INSERT, content1)
# 插入图片 tk.PhotoImage 只能读取gif的图片
photo = ImageTk.PhotoImage(file="D:\\lianxi_py\\three\\image\\11.jpeg")
txt.image_create(tk.INSERT, image=photo)
# 插入文本内容2
txt.insert(tk.INSERT, content2)
# 设置内容不可编辑 若想更新内容 则改为normal
txt.config(state='disabled')
# 创建下方滚动条
scroll_x = tk.Scrollbar(root, orient=tk.HORIZONTAL)
# 创建右侧滚动条
scroll_y = tk.Scrollbar(root)
# 放到窗体的右侧 沿Y轴平铺
scroll_y.pack(side=tk.RIGHT, fill=tk.Y)
# 放到窗体的下方 沿X轴平铺
scroll_x.pack(side=tk.BOTTOM, fill=tk.X)
txt.pack(side=tk.RIGHT, fill=tk.Y)
# 关联文本控件
scroll_y.config(command=txt.yview)
scroll_x.config(command=txt.xview)
txt.config(yscrollcommand=scroll_y.set, xscrollcommand=scroll_x.set)
# 进入程序循环
root.mainloop()
效果如下:
记录一下,备以后借鉴使用