添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

ttk.Style()有哪些主题样式,我记得不同的操作系统可能有不同的内置主题。比如在Windows上可能有’winnative’, ‘clam’, ‘alt’, ‘classic’, ‘vista’, ‘xpnative’之类的,而Linux下的主题可能有’clam’, ‘alt’, ‘default’, ‘classic’,而macOS可能有’aqua’或者其他名称。不过具体的可用主题可能因系统和Tk版本而异,所以最好是通过代码先获取当前可用的主题列表。

测试这些主题样式在多个组件上的效果。组件的话,常见的ttk组件包括Button、Label、Entry、Checkbutton、Radiobutton、Combobox、Frame、Notebook、Progressbar、Treeview等。需要创建一个示例窗口,展示这些组件在不同主题下的外观变化。

当前主题是: clam
在这里插入图片描述

# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
import tkinter as tk
from tkinter import ttk
def create_demo_widgets(parent):
    """创建一组ttk组件用于演示主题效果"""
    frame = ttk.Frame(parent, padding=10)
    frame.pack(padx=10, pady=10, fill='both', expand=True)
    ttk.Label(frame, text='这是一个标签:').grid(row=0, column=0, sticky='w')
    # 输入框
    ttk.Entry(frame, width=15).grid(row=0, column=1, padx=5)
    ttk.Button(frame, text='按钮', command=lambda: print("点击按钮")).grid(row=0, column=2, padx=5)
    # 复选框
    ttk.Checkbutton(frame, text='复选框').grid(row=1, column=0, sticky='w', pady=5)
    # 单选框
    radio_var = tk.StringVar()
    ttk.Radiobutton(frame, text='选项1', variable=radio_var, value='1').grid(row=2, column=0, sticky='w')
    ttk.Radiobutton(frame, text='选项2', variable=radio_var, value='2').grid(row=3, column=0, sticky='w')
    # 下拉框
    combo = ttk.Combobox(frame, values=["选项1", "选项2", "选项3"], state='readonly')
    combo.current(0)
    combo.grid(row=1, column=1, pady=5)
    # 进度条
    progress = ttk.Progressbar(frame, orient='horizontal', length=100, mode='determinate')
    progress.grid(row=1, column=2)
    progress.start(10)
    # 树状视图
    tree = ttk.Treeview(frame, columns=('名称', '值'), show='headings', height=2)
    tree.heading('名称', text='名称')
    tree.heading('值', text='值')
    tree.insert('', 'end', values=('项目1', 100))
    tree.insert('', 'end', values=('项目2', 200))
    tree.grid(row=4, column=0, columnspan=3, pady=5)
    # 分隔线
    ttk.Separator(frame, orient='horizontal').grid(row=5, columnspan=3, sticky='ew', pady=5)
    # 笔记本(选项卡)
    notebook = ttk.Notebook(frame)
    tab1 = ttk.Frame(notebook)
    tab2 = ttk.Frame(notebook)
    notebook.add(tab1, text='选项卡1')
    notebook.add(tab2, text='选项卡2')
    notebook.grid(row=6, columnspan=3, sticky='ew')
    return frame
def change_theme(theme):
    """切换主题并更新界面"""
    style.theme_use(theme)
    print(f"当前主题: {theme}")
# 创建主窗口
root = tk.Tk()
root.title('ttk主题样式演示')
# 初始化样式对象
style = ttk.Style()
available_themes = style.theme_names()
current_theme = style.theme_use()
print("可用内置主题:", available_themes)
# 创建主题选择控件
theme_frame = ttk.Frame(root, padding=(10,5))
theme_frame.pack(fill='x')
ttk.Label(theme_frame, text="选择主题:").pack(side='left', padx=5)
theme_combobox = ttk.Combobox(
    theme_frame,
    values=list(available_themes),
    state='readonly'
theme_combobox.set(current_theme)
theme_combobox.pack(side='left', padx=5)
theme_combobox.bind('<<ComboboxSelected>>',
                   lambda e: change_theme(theme_combobox.get()))
# 创建演示组件
demo_frame = create_demo_widgets(root)
# 启动主循环
root.mainloop()

完毕!!感谢您的收看

----------★★跳转到历史博文集合★★----------
我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame

Tekin 是深耕技术 20 年的全栈实战派专家,精通 Go/Python/Java 等多语言开发。博客专注技术原理与实战结合,深度解析 Python 高阶编程、Go 语言架构、数据库优化等硬核内容。涵盖并发编程、机器学习、云原生等前沿领域,通过真实案例拆 04-12 本 Demo 展示了如何使用 sv_ttk 库在 tkinter GUI 界面中实现主题切换功能。sv_ttk 是一个扩展的 tkinter 主题库,允许开发者为 tkinter 应用程序提供现代化的外观和感觉。通过此 Demo,用户可以轻松体验不同主题之间的切换,从而增强 GUI 的用户体验和吸引力。 系统要求: Python 3.x sv_ttktkinter 库(通常与 Python 标准库一起安装) 安装说明: 确保已安装 Python 3.x。 使用 pip 安装 sv_ttk 库:pip install sv_ttk 运行 Demo 文件。 使用说明: 运行 Demo 后,您将看到一个 tkinter GUI 界面,其中包含几个按钮用于切换主题。 点击不同的按钮,界面将应用相应的主题。 您可以观察并体验不同主题之间的视觉差异。 常见问题及解决方案: 如果无法安装 sv_ttk 库,请确保您的 pip 版本是最新的,并尝试使用管理员权限运行安装命令。 如果 Demo 运行时出现问题,请检查 Python 环境配置和库依赖是否正确安装。
GitHub地址: https://github.com/TomSchimansky/CustomTkinter 官网: https://customtkinter.tomschimansky.com/ 官方教程文档:https://customtkinter.tomschimansky.com/documentation/可以自定义小部件的所有颜色,可以在特定小部件的文档中找到适当的参数。注意 bg_c​​olor 只是小部件后面的颜色,如果它有圆角的话。小部件的主要颜色称为 fg_color: Peace007_: 引用「import structimport datetimeimport os# 1.新建一个文件夹,用」 本人亲测了一下,作者的思路非常清淅,代码也基本OK,只是细节有点儿问题,代码第57行符号及个别地方问题; 订正后的如下 import struct import datetime import os # 1.新建一个文件夹,用于存放解析好的股票数据 os.makedirs('股票数据',exist_ok=True) #区分沪深,北交所股票,找到对应股票的文件位置 def hs_stock(code): """區分滬深,北交所股票,找到對應股票的文件位置""" if code[0] == "6": str_code = 'sh/lday/sh' + code if code[0] == "3": str_code = 'sz/lday/sz' + code if code[0] == "8" or code[0] == "4": str_code = 'bj/lday/bj' + code return str_code #2.解析通达信日线数据---E:\new_tdx\vipdoc\sh\lday #F:\new_tdx\ def stock_csv(filepath, code, name): """解析通達信日線數據""" # 修正路徑拼接 full_path = os.path.join(filepath, hs_stock(code) + '.day') # 檢查文件是否存在 if not os.path.exists(full_path): print(f"錯誤:找不到文件 {full_path}") return with open(full_path, 'rb') as f: file_object_path = os.path.join('股票数据', f'{name}.csv') file_object = open(file_object_path, 'w+') while True: stock_date = f.read(4) stock_ope 通达信指标源码,一键自动改写成选股器 2406_89386463: 我想要能给我一个吗老板 Selenium教程05:使用webdriver-manager自动下载浏览器驱动,再也不用担心driver版本的问题了 蠢萌的二狗子: Safari 默认是带驱动的,直接 webdriver.Safari() Selenium教程05:使用webdriver-manager自动下载浏览器驱动,再也不用担心driver版本的问题了 蠢萌的二狗子: 国内网络访问不了的。这个库对总国人来说没有用。 Python如何取出for循环里面的全部数据 2301_76815595: 找了一天呀,就你的有用,太谢谢谢你了.