
Python,速成心法
敲代码,查资料,问Ai
练习,探索,总结,优化

★★★★★博文创作不易,我的博文不需要打赏,也不需要知识付费,可以白嫖学习编程小技巧。使用代码的过程中,如有疑问的地方,欢迎大家指正留言交流。喜欢的老铁可以多多点赞+收藏分享+置顶,小红牛在此表示感谢。★★★★★
------★Python练手项目源码★------
Python项目98:Tkinter十六进制颜色对照表(108种常用颜色)
Python项目94:全球疫情模拟数据可视化大屏(dash+plotly+pandas)
Python项目91:绘制红楼梦人物关系图(NetworkX+Matplotlib)
Python项目89:NetworkX最短路径规划(城市交通)
Python项目88:文件备份与压缩系统2.0(tkinter+shutil+zipfile)
Python项目86:增强版画板2.0(tk.Canvas)
Python项目81:Excel工作表批量重命名工具1.0(tkinter+openpyxl)
Python项目78:学生成绩分析系统(Tkinter+SQLite3)
Python项目77:模拟炒股训练系统3.0(Mplfinance+tkinter)
Python项目76:员工排班表系统1.0(tkinter+sqlite3+tkcalendar)
Python项目74:多线程数据可视化工具2.0(tkinter+matplotlib+mplcursors)
Python项目73:自动化文件备份系统1.0(tkinter)
Python项目源码71:药品管理系统1.0(tkinter+sqlite3)
Python项目源码69:Excel数据筛选器1.0(tkinter+sqlite3+pandas)
Python项目源码63:病历管理系统1.0(tkinter+sqlite3+matplotlib)
Python源码62:酒店住房管理系统1.0(tkinter+sqlite3)
Python项目源码57:数据格式转换工具1.0(csv+json+excel+sqlite3)
Python项目源码56:食堂饭卡管理系统1.0(tkinter+splite3)
Python项目源码54:员工信息管理系统2.0(tkinter+sqlite3)
Python项目源码52:模拟银行卡系统1.0(账户管理、存款、取款、转账和交易记录查询)
Python项目源码50:理发店会员管理系统1.0(tkinter+sqlite3)
Python项目源码48:正则表达式调试工具3.0(tkinter+re+requests)
Python项目源码44:图书管理系统1.0(tkinter+sqlite3)
Python项目源码42:仓库商品管理系统1.0(tkinter+sqlite3+Excel)
Python项目源码40:字符串处理工具(tkinter+入门练习)
Python项目源码39:学生积分管理系统1.0(命令行界面+Json)
Python项目源码35:音乐播放器2.0(Tkinter+mutagen)
Python项目源码33:待办事项列表应用2.0(命令行界面+Json+类)
Python项目32:订单销售额管理系统1.0(Tkinter+CSV)
Python项目源码29:学生缴费管理系统(Tkinter+CSV)
Python项目28:设计日志管理系统2.0(Tkinter+Json)

新功能说明
1. 完整 CSS 颜色集:包含约 140 种标准 CSS 颜色,涵盖红、粉、橙、黄、绿、青、蓝、紫、棕、灰、白等色系。每个颜色都带有预定义的分组,便于分类浏览。

↓ 完整源码如下 ↓
# -*- coding: utf-8 -*-# @Author : 小红牛# 微信公众号:wdPythonimport tkinter as tkfrom tkinter import ttk# ------------------------------------------------------------# 完整 CSS 颜色名称列表(140种)及分组# 数据来源:基于 CSS Color Module Level 3 标准颜色名称# ------------------------------------------------------------css_colors = [# 红色系("Red", "#FF0000", "Red"), ("DarkRed", "#8B0000", "Red"), ("FireBrick", "#B22222", "Red"),("Crimson", "#DC143C", "Red"), ("IndianRed", "#CD5C5C", "Red"), ("LightCoral", "#F08080", "Red"),("Salmon", "#FA8072", "Red"), ("Tomato", "#FF6347", "Red"), ("OrangeRed", "#FF4500", "Red"),# 粉色系("Pink", "#FFC0CB", "Pink"), ("LightPink", "#FFB6C1", "Pink"), ("HotPink", "#FF69B4", "Pink"),("DeepPink", "#FF1493", "Pink"), ("PaleVioletRed", "#DB7093", "Pink"),# 橙色系("Orange", "#FFA500", "Orange"), ("DarkOrange", "#FF8C00", "Orange"), ("Coral", "#FF7F50", "Orange"),("Gold", "#FFD700", "Orange"),# 黄色系("Yellow", "#FFFF00", "Yellow"), ("LightYellow", "#FFFFE0", "Yellow"), ("LemonChiffon", "#FFFACD", "Yellow"),("Khaki", "#F0E68C", "Yellow"), ("DarkKhaki", "#BDB76B", "Yellow"),# 绿色系("Green", "#008000", "Green"), ("DarkGreen", "#006400", "Green"), ("ForestGreen", "#228B22", "Green"),("Lime", "#00FF00", "Green"), ("LimeGreen", "#32CD32", "Green"), ("LawnGreen", "#7CFC00", "Green"),("Chartreuse", "#7FFF00", "Green"), ("GreenYellow", "#ADFF2F", "Green"), ("SpringGreen", "#00FF7F", "Green"),("MediumSpringGreen", "#00FA9A", "Green"), ("LightGreen", "#90EE90", "Green"), ("PaleGreen", "#98FB98", "Green"),("Olive", "#808000", "Green"), ("OliveDrab", "#6B8E23", "Green"), ("DarkOliveGreen", "#556B2F", "Green"),("SeaGreen", "#2E8B57", "Green"), ("MediumSeaGreen", "#3CB371", "Green"), ("LightSeaGreen", "#20B2AA", "Green"),# 青色/蓝色系("Cyan", "#00FFFF", "Cyan"), ("LightCyan", "#E0FFFF", "Cyan"), ("PaleTurquoise", "#AFEEEE", "Cyan"),("Turquoise", "#40E0D0", "Cyan"), ("MediumTurquoise", "#48D1CC", "Cyan"), ("DarkTurquoise", "#00CED1", "Cyan"),("Aqua", "#00FFFF", "Cyan"), ("Aquamarine", "#7FFFD4", "Cyan"), ("MediumAquamarine", "#66CDAA", "Cyan"),("Blue", "#0000FF", "Blue"), ("DarkBlue", "#00008B", "Blue"), ("MediumBlue", "#0000CD", "Blue"),("Navy", "#000080", "Blue"), ("RoyalBlue", "#4169E1", "Blue"), ("CornflowerBlue", "#6495ED", "Blue"),("LightSteelBlue", "#B0C4DE", "Blue"), ("LightBlue", "#ADD8E6", "Blue"), ("SkyBlue", "#87CEEB", "Blue"),("DeepSkyBlue", "#00BFFF", "Blue"), ("DodgerBlue", "#1E90FF", "Blue"), ("SteelBlue", "#4682B4", "Blue"),("CadetBlue", "#5F9EA0", "Blue"), ("MidnightBlue", "#191970", "Blue"),# 紫色/紫罗兰色系("Purple", "#800080", "Purple"), ("DarkMagenta", "#8B008B", "Purple"), ("Indigo", "#4B0082", "Purple"),("BlueViolet", "#8A2BE2", "Purple"), ("DarkViolet", "#9400D3", "Purple"), ("SlateBlue", "#6A5ACD", "Purple"),("MediumSlateBlue", "#7B68EE", "Purple"), ("MediumPurple", "#9370DB", "Purple"), ("Lavender", "#E6E6FA", "Purple"),("Thistle", "#D8BFD8", "Purple"), ("Plum", "#DDA0DD", "Purple"), ("Violet", "#EE82EE", "Purple"),("Orchid", "#DA70D6", "Purple"), ("Fuchsia", "#FF00FF", "Purple"), ("Magenta", "#FF00FF", "Purple"),# 棕色/米色系("Brown", "#A52A2A", "Brown"), ("SaddleBrown", "#8B4513", "Brown"), ("Sienna", "#A0522D", "Brown"),("Chocolate", "#D2691E", "Brown"), ("Peru", "#CD853F", "Brown"), ("SandyBrown", "#F4A460", "Brown"),("Burlywood", "#DEB887", "Brown"), ("Tan", "#D2B48C", "Brown"), ("Beige", "#F5F5DC", "Brown"),("Bisque", "#FFE4C4", "Brown"), ("Moccasin", "#FFE4B5", "Brown"), ("NavajoWhite", "#FFDEAD", "Brown"),("Wheat", "#F5DEB3", "Brown"), ("Cornsilk", "#FFF8DC", "Brown"), ("BlanchedAlmond", "#FFEBCD", "Brown"),# 灰色系("Gray", "#808080", "Gray"), ("DarkGray", "#A9A9A9", "Gray"), ("LightGray", "#D3D3D3", "Gray"),("DimGray", "#696969", "Gray"), ("Gainsboro", "#DCDCDC", "Gray"), ("Whitesmoke", "#F5F5F5", "Gray"),("Silver", "#C0C0C0", "Gray"),# 白色/浅色系("White", "#FFFFFF", "White"), ("Snow", "#FFFAFA", "White"), ("Honeydew", "#F0FFF0", "White"),("MintCream", "#F5FFFA", "White"), ("Azure", "#F0FFFF", "White"), ("AliceBlue", "#F0F8FF", "White"),("GhostWhite", "#F8F8FF", "White"), ("Seashell", "#FFF5EE", "White"), ("Ivory", "#FFFFF0", "White"),("OldLace", "#FDF5E6", "White"), ("Linen", "#FAF0E6", "White"), ("AntiqueWhite", "#FAEBD7", "White"),# 其他补充(确保达到140种左右)("Teal", "#008080", "Cyan"), ("DarkCyan", "#008B8B", "Cyan"), ("Maroon", "#800000", "Red"),("RosyBrown", "#BC8F8F", "Brown"), ("MistyRose", "#FFE4E1", "Pink"), ("PapayaWhip", "#FFEFD5", "Orange"),("PeachPuff", "#FFDAB9", "Orange"), ("BlanchedAlmond", "#FFEBCD", "Brown") # 已存在但确保不重复]# 去重(名称可能重复,保留第一次出现)seen = set()unique_colors = []for name, hexcode, group in css_colors:if name not in seen:seen.add(name)unique_colors.append((name, hexcode, group))css_colors = unique_colors# 获取所有分组(去重)all_groups = sorted(set(group for _, _, group in css_colors))class ColorTable:def __init__(self, root):self.root = rootself.root.title("CSS颜色对照表 (140种)")self.root.state('zoomed')# 顶部控制栏control_frame = ttk.Frame(root)control_frame.pack(side=tk.TOP, fill=tk.X, padx=10, pady=5)# 搜索框ttk.Label(control_frame, text="搜索:").pack(side=tk.LEFT, padx=(0,5))self.search_var = tk.StringVar()self.search_entry = ttk.Entry(control_frame, textvariable=self.search_var, width=20)self.search_entry.pack(side=tk.LEFT, padx=(0,10))self.search_var.trace_add("write", lambda *args: self.refresh_display())# 清除按钮clear_btn = ttk.Button(control_frame, text="清除", command=self.clear_search)clear_btn.pack(side=tk.LEFT, padx=(0,20))# 分组下拉ttk.Label(control_frame, text="分组:").pack(side=tk.LEFT, padx=(0,5))self.group_var = tk.StringVar()self.group_combo = ttk.Combobox(control_frame, textvariable=self.group_var, values=["全部"] + all_groups, state="readonly", width=12)self.group_combo.pack(side=tk.LEFT)self.group_var.set("全部")self.group_var.trace_add("write", lambda *args: self.refresh_display())# 结果显示区域(可滚动画布)self.canvas = tk.Canvas(root)self.scrollbar = ttk.Scrollbar(root, orient="vertical", command=self.canvas.yview)self.scrollable_frame = ttk.Frame(self.canvas)self.scrollable_frame.bind("<Configure>",lambda e: self.canvas.configure(scrollregion=self.canvas.bbox("all")))self.canvas.create_window((0, 0), window=self.scrollable_frame, anchor="nw")self.canvas.configure(yscrollcommand=self.scrollbar.set)self.canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)self.scrollbar.pack(side=tk.RIGHT, fill=tk.Y)# 网格参数self.columns = 10 # 每行显示10个颜色项self.color_items = [] # 保留当前显示的颜色项引用(用于可能的事件,其实不需要)# 鼠标滚轮绑定self.canvas.bind_all("<MouseWheel>", self.on_mousewheel)# 初始显示self.refresh_display()def clear_search(self):self.search_var.set("")def refresh_display(self):"""根据当前搜索和分组条件,重新生成颜色网格"""# 获取筛选条件search_text = self.search_var.get().strip().lower()selected_group = self.group_var.get()# 筛选颜色列表filtered = []for name, hexcode, group in css_colors:# 分组筛选if selected_group != "全部" and group != selected_group:continue# 搜索筛选(不区分大小写,名称包含搜索词)if search_text and search_text not in name.lower():continuefiltered.append((name, hexcode, group))# 清除当前显示的所有子组件for widget in self.scrollable_frame.winfo_children():widget.destroy()# 如果没有结果,显示提示if not filtered:label = ttk.Label(self.scrollable_frame, text="没有找到匹配的颜色", font=("Arial", 12))label.grid(row=0, column=0, padx=20, pady=20)return# 重新生成网格for idx, (name, hexcode, group) in enumerate(filtered):row = idx // self.columnscol = idx % self.columns# 每个颜色项的主框架item_frame = ttk.Frame(self.scrollable_frame, relief=tk.RAISED, borderwidth=1)item_frame.grid(row=row, column=col, padx=6, pady=6, sticky="nsew")# 色块color_label = tk.Label(item_frame, bg=hexcode, width=10, height=3, relief=tk.SUNKEN)color_label.pack(side=tk.TOP, fill=tk.X, padx=2, pady=2)# 文字区域text_frame = ttk.Frame(item_frame)text_frame.pack(side=tk.TOP, fill=tk.X, padx=2, pady=2)name_label = ttk.Label(text_frame, text=name, font=("Arial", 9, "bold"))name_label.pack(side=tk.TOP, anchor=tk.W)hex_label = ttk.Label(text_frame, text=hexcode, font=("Courier", 8), foreground="darkblue")hex_label.pack(side=tk.TOP, anchor=tk.W)# 点击复制十六进制hex_label.bind("<Button-1>", lambda e, code=hexcode: self.copy_to_clipboard(code))# 配置列权重for i in range(self.columns):self.scrollable_frame.columnconfigure(i, weight=1)def copy_to_clipboard(self, text):"""复制文本到剪贴板并显示短暂提示"""self.root.clipboard_clear()self.root.clipboard_append(text)status = tk.Label(self.root, text=f"✓ 已复制 {text}", fg="green", bg="#f0f0f0",font=("Arial", 9), relief=tk.SOLID, bd=1, padx=5, pady=2)status.place(relx=0.5, rely=0.98, anchor="center")self.root.after(2000, status.destroy)def on_mousewheel(self, event):"""鼠标滚轮滚动"""self.canvas.yview_scroll(int(-1*(event.delta/120)), "units")if __name__ == "__main__":root = tk.Tk()app = ColorTable(root)root.mainloop()
完毕!!感谢您的收看
------★★历史博文集合★★------
