点击“蓝字” 关注我们



我们全程有AI助手陪伴,既能做出可直接操作的桌面程序,还能系统学到爬虫、GUI(图形界面)开发、数据处理等技能,锻炼逻辑思维和问题解决能力。


在上一讲中,我们已经实现了点击“下载数据”按钮,将双色球历史数据按格式显示在文本框的功能。
本节课我们将借助AI的帮助,用tkinter的tag功能,给文本框中的期数、红球、蓝球设置不同颜色,优化显示效果,让数据更醒目、更易区分。
文本框中,期数、红球、蓝球分别显示不同颜色,格式整齐。


1. 认识tkinter的tag功能:
明确tag是tkinter中文本框的“颜色工具”,可以给指定范围的文本设置字体、颜色等样式,帮我们区分不同类型的数据。
2. 导入字体模块:
补充导入tkinter.font模块,用于设置文本框的字体样式,让数据显示更清晰。
3. 配置tag样式:
在print_history_datas()函数中,用tag_config()方法创建3个tag,分别设置期数、红球、蓝球的颜色,比如绿色期数、红色红球、蓝色蓝球。
4. 绑定tag到文本:
计算每一期数据中期数、红球、蓝球的位置,用tag_add()方法将对应tag绑定到指定文本范围,实现颜色区分。
5. 测试效果:
运行代码,点击“下载数据”,查看文本框中数据颜色是否正常显示。



项目完整代码,请参照文末方式获取。
# 双色球分析工具 - 第11讲核心代码# 功能:用tag功能给文本框数据设置不同颜色import tkinter as tkimport tkinter.font as tf # 导入字体模块# 延续前面代码,文本框、print_history_datas函数等已创建(省略重复代码)def print_history_datas():data_dict = get_history_datas()clear_text_widget()str_result = ""for key, value in data_dict.items():ball = " ".join(value.split(","))str_result += "第" + key + "期:" + ball + "\n"# 设置文本框字体font1 = tf.Font(family='楷体', size=18)text_widget.config(font=font1)# 配置3个tag,分别设置不同颜色text_widget.tag_config("tag1", foreground="green") # 期数-绿色text_widget.tag_config("tag2", foreground="red") # 红球-红色text_widget.tag_config("tag3", foreground="blue") # 蓝球-蓝色# 将数据插入文本框text_widget.insert('insert', str_result)# 给每一期数据绑定对应tag,设置颜色for i in range(1, str_result.count("第") + 1):# 绑定期数颜色(第X期:的期数部分)text_widget.tag_add("tag1", "{}.1".format(i), "{}.8".format(i))# 绑定红球颜色(期数后到蓝球前)text_widget.tag_add("tag2", "{}.10".format(i), "{}.28".format(i))# 绑定蓝球颜色(最后两个字符)text_widget.tag_add("tag3", "{}.28".format(i), "{}.30".format(i))
(1)改进点
1. 优化颜色搭配,选择更柔和、更适合长时间阅读的颜色,避免颜色过于刺眼;
2. 调整tag绑定的文本范围,适配不同期数(如期数位数变化),避免颜色错位,提升兼容性。
(2)提示词示例
“我正在用tkinter给双色球分析工具的文本框数据设置颜色,目前用了绿色期数、红色红球、蓝色蓝球,感觉颜色有点刺眼。
麻烦帮我优化代码,选择柔和的颜色搭配,给出可直接替换的代码,注释简单易懂。”
(3)小红花
你成功给文本框的数据“穿上了彩色衣服”,让杂乱的数据变得一目了然,这是提升程序美观度和易用性的重要一步!
AI可以帮你解决颜色搭配和兼容性的小问题,让你的程序更完美。
大胆向AI描述你的需求,比如“我想要更柔和的颜色”,主动下达指令,你会发现,借助AI的力量,我们能轻松解决编程中的细节难题,让AI成为你美化程序的好帮手。
本节课我们重点学习了tkinter中文本框的tag_config()和tag_add()方法,掌握了文本样式设置的核心技巧,成功给不同类型的数据设置了区分颜色。
从技术层面,我们学会了字体模块的导入和使用,理解了tag功能的原理和应用场景;
从能力层面,我们锻炼了细节处理能力和审美意识,学会了通过样式优化提升程序的易用性。
从教育角度,这契合建构主义学习理论中“注重细节、逐步完善”的核心观点,颜色区分数据的过程,也培养了孩子的分类思维和逻辑思维,让孩子明白,编程不仅要实现功能,还要注重用户体验,这也是成为优秀小程序员的必备素养。

数程思维派|专业创造未来
线下教学基地:南京市江宁区上元大街恒通大厦(江宁万达旁,地铁5号线直达)
若需了解课程详情,可通过微信扫描二维码添加秦老师,添加成功后即可立即享受价值超千元的课程专属优惠。
👇

夜雨聆风