tk 设置文本颜色

news2024/9/20 1:20:51

 

import tkinter as tk
from tkinter import messagebox

def change_text_color(color):
    # 获取选中的文本范围
    start_index = text_widget.tag_ranges(tk.SEL)
    if start_index:
        # 如果文本被选中,只改变选中文本的颜色
        tag_name = f"color_{color}"
        # 移除选中文本上的所有颜色标签
        for tag in text_widget.tag_names(start_index[0]):
            if tag.startswith("color_"):
                text_widget.tag_remove(tag, start_index[0], start_index[1])
        # 添加新的颜色标签
        text_widget.tag_add(tag_name, start_index[0], start_index[1])
        text_widget.tag_config(tag_name, foreground=color)
    else:
        # 如果没有文本被选中(即全选文本),改变所有文本的颜色
        text_widget.tag_remove("color_all", "1.0", tk.END)
        text_widget.tag_add("color_all", "1.0", tk.END)
        text_widget.tag_config("color_all", foreground=color)

def on_ctrl_y(event):
    # 当按下Ctrl+Y时,调用change_text_color函数
    change_text_color("red")

root = tk.Tk()

# 创建一个Text控件
text_widget = tk.Text(root)
text_widget.pack(fill=tk.BOTH, expand=True)

# 绑定Ctrl+Y快捷键
text_widget.bind("<Control-y>", on_ctrl_y)

# 创建菜单栏
menu_bar = tk.Menu(root)

# 创建颜色菜单
color_menu = tk.Menu(menu_bar, tearoff=0)
color_menu.add_command(label="Red", command=lambda: change_text_color("red"))
color_menu.add_command(label="Blue", command=lambda: change_text_color("blue"))
color_menu.add_command(label="Green", command=lambda: change_text_color("green"))
color_menu.add_command(label="Black", command=lambda: change_text_color("black"))
menu_bar.add_cascade(label="Color", menu=color_menu)

# 将菜单栏添加到窗口
root.config(menu=menu_bar)

root.mainloop()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1918933.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Internet Download Manager V6.43被用15天 怎么激活IDM

互联网下载管理器是一个广泛使用的软件&#xff0c;它可以帮助用户更好地管理和加速他们的下载。最新版本Internet Download Managerv6.43已经发布&#xff0c;它带来了一系列新功能和改进&#xff0c;让用户更加方便和快速地下载他们需要的文件。 新版本Internet Download Ma…

通过手机供网、可修改WIFI_MAC的网络设备

一、修改WIFI mac&#xff08;bssid&#xff09; 取一根网线&#xff0c;一头连着设备黄色网口、一头连着电脑按住设备reset按键&#xff0c;插入电源线&#xff0c;观察到蓝灯闪烁后再松开reset按键 打开电脑浏览器&#xff0c;进入192.168.1.1&#xff0c;选择“MAC 地址修改…

书生大模型实战营-入门第2关-python单词计数

python单词计数 统计单词数量 统计单词数量 统计单词数量&#xff0c;拆分为以下几步&#xff1a; 需要剔除文本中的标点符号与换行符大小写转换单词拆分计数 详细代码如下&#xff1a; import redef wordcount(text):"""单词计数标点去除大小写转换"&…

Java版Flink使用指南——背压

大纲 新建工程模拟函数自定义无界流背压测试引入数据低压侧高压侧测试结果 优化降低算法复杂度提高并行度 工程代码 背压&#xff08;Backpressure&#xff09;又称“反压”&#xff0c;是指在Flink的处理过程中&#xff0c;某个过程出于某种原因&#xff0c;消耗的上游数据过慢…

分析逆向案例十三——拍拍贷登录密码逆向和JS原型链

网址&#xff1a;拍拍贷 登陆页面&#xff0c;找登陆包&#xff0c;密码和用户名都进行了加密。 直接参数搜索 &#xff0c;一眼下面的第二条&#xff0c;直接点击进入 加密位置打上断点分析&#xff0c;一个加密嵌套另一个加密。 中间的e.md5好像是md5加密&#xff0c;打印一…

windows系统上python3安装open3d第三方库

打开命令提示符&#xff0c;输入&#xff0c; pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple成功页面&#xff0c;

百度安全大模型智能体实践入选信通院“安全守卫者计划”优秀案例

7月3日&#xff0c;由全球数字经济大会组委会主办&#xff0c;中国信息通信研究院&#xff08;以下简称中国信通院&#xff09;与中国通信标准化协会联合承办的2024全球数字经济大会“云和软件安全论坛暨第二届SecGo云和软件安全大会”在北京召开。本届论坛聚焦云和软件安全最新…

【Stable Diffusion】(基础篇三)—— 图生图基础

图生图基础 本系列笔记主要参考B站nenly同学的视频教程&#xff0c;传送门&#xff1a;B站第一套系统的AI绘画课&#xff01;零基础学会Stable Diffusion&#xff0c;这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili 本文主要讲解如何使用S…

线性系统理论及应用GUI设计及仿真

目录 1.控制系统的状态空间模型 1.1.状态空间模型 1.2 传递函数模型 1.3 传递函数转换为状态空间模型 1.4.状态空间模型转换为传递函数 1.5.状态空间模型转化为约当标准型 2.线性系统的时域分析 2.1.矩阵指数函数的计算 2.2.线型定常连续系统的状态空间模型求解 3.线…

java后端项目启动失败,解决端口被占用问题

报错信息&#xff1a; Web server failed to start . Port 8020 was already in use. 1、查看端口号 netstat -ano | findstr 端口号 2、终止进程 taskkill /F /PID 进程ID 举例&#xff1a;关闭8020端口

Echarts 实现空心圆的绘制

文章目录 需求分析在指定位置绘制需求 如图所示,绘制空心圆 分析 <!DOCTYPE html> <html><head><meta charset=

dive deeper into tensor:从底层开始学习tensor

inspired by karpathy/micrograd: A tiny scalar-valued autograd engine and a neural net library on top of it with PyTorch-like API (github.com)and Taking PyTorch for Granted | wh (nrehiew.github.io). 这属于karpathy的karpathy/nn-zero-to-hero: Neural Networks…

【数据结构】深入理解哈希及其底层数据结构

目录 一、unordered系列关联式容器 二、底层结构 2.1 哈希的概念 2.2 哈希冲突&#xff08;哈希碰撞&#xff09; 2.3 哈希函数 2.4 哈希冲突处理 2.4.1 闭散列&#xff08;开放定址法&#xff09; 2.4.1.1 代码实现&#xff1a; 2.4.2 开散列&#xff08;链地址法&…

利用视频识别做一个土粒实时监测系统

要利用视频识别技术构建一个土粒实时监测系统&#xff0c;我们可以参考以下方案&#xff0c;该方案结合了计算机视觉、深度学习以及相关技术的要点。 一、系统概述 土粒实时监测系统基于先进的视频识别技术&#xff0c;旨在实现对土壤颗粒的实时、准确监测。该系统可以应用于…

Android启动优化之精确测量启动各个阶段的耗时

1. 直观地观察应用启动时长 我们可以通过观察logcat日志查看Android应用启动耗时&#xff0c;过滤关键字"Displayed"&#xff1a; ActivityTaskManager: Displayed com.peter.viewgrouptutorial/.activity.DashboardActivity: 797ms 启动时长(在这个例子中797ms)表示…

水库大坝安全监测险情主要内容

水库常见险情主要包括洪水漫顶、脱坡滑坡、坝体裂缝、 散浸、渗漏、漏洞、陷坑、管涌等&#xff0c;此外风浪冲击、水流冲刷等也会加剧险情的扩大。大坝险情万一抢护不及时&#xff0c;易导致发 生溃坝事故&#xff0c;造成极为严重的灾难性后果。要做到及时有效地 抢护大坝险情…

智慧金融-数据可视化

智慧金融-数据可视化 导入所需的库 import numpy as np import numpy_financial as npf import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams[font.sans-serif][FangSong] mpl.rcParams[axes.unicode_minus]False单图曲线图 r 0.05 # 贷款的年利率 n 30…

28.IP核理论知识(Xilinx)

&#xff08;1&#xff09;ip核是什么&#xff1f; IP&#xff08;Intellectual Property&#xff09;即知识产权&#xff0c;在半导体产业中&#xff0c;将IP核定义为“用于ASIC或FPGA中的预先设计好的电路功能模块”&#xff0c;简而言之&#xff0c;这里的IP即电路功能模块。…

使用 `useAppConfig` :轻松管理应用配置

title: 使用 useAppConfig &#xff1a;轻松管理应用配置 date: 2024/7/11 updated: 2024/7/11 author: cmdragon excerpt: 摘要&#xff1a;本文介绍了Nuxt开发中useAppConfig的使用&#xff0c;它便于访问和管理应用配置&#xff0c;支持动态加载资源、环境配置切换、权限…

MacOS 开发 — Packages 程序 macOS新版本 演示选项卡无法显示

MacOS 开发 — Packages 程序 macOS新版本 演示选项卡无法显示 问题描述 &#xff1a; 之前写过 Packages 的使用以及如何打包macOS程序。最近更新了新的macOS系统&#xff0c;发现Packages的演示选项卡无法显示&#xff0c;我尝试从新安转了Packages 也是没作用&#xff0c;…