当前位置:首页>python>Python项目99:Tkinter十六进制颜色对照表2.0(140种颜色)

Python项目99:Tkinter十六进制颜色对照表2.0(140种颜色)

  • 2026-09-10 17:02:00
Python项目99:Tkinter十六进制颜色对照表2.0(140种颜色)

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数据统计工具3.0

Python项目81:Excel工作表批量重命名工具1.0(tkinter+openpyxl)

Python项目80:Excel数据统计工具2.0

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项目源码51:五子棋对战2.0(Pygame)

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)

Python项目26:设计学生成绩管理系统(简易版)

新功能说明

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

2. 实时搜索:顶部搜索框支持实时过滤:输入任意字符串,颜色列表会动态更新,只保留名称中包含该字符串的颜色(不区分大小写)。
提供“清除”按钮,一键清空搜索条件。
3. 按色系分组:分组下拉菜单包含所有预定义的分组(如“Red”、“Blue”等),选择后只显示该组颜色。
默认显示“全部”颜色。搜索和分组可以组合使用,例如在“Red”组中搜索“dark”,只显示红色系中名称含“dark”的颜色。

↓ 完整源码如下 ↓

# -*- 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 = root        self.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():                continue            filtered.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.columns            col = 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()

完毕!!感谢您的收看

------★★历史博文集合★★------

Python入门篇  进阶篇  视频教程  Py安装

py项目Python模块 Python爬虫  Json

Xpath正则表达式SeleniumEtreeCss

Gui程序开发TkinterPyqt5 列表元组字典

数据可视化 matplotlib  词云图Pyecharts

海龟画图PandasBug处理电脑小知识

自动化脚本编程工具NumPy CSVWeb

Pygame  图像处理  机器学习数据库

最新文章

随机文章