pyqt QToolBar 选中高亮

目录

效果图

示例代码


效果图

示例代码

from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QToolBar, QToolButtonclass HighlightingToolButton(QToolButton):def __init__(self, parent=None):super().__init__(parent)self.setCheckable(True)def nextCheckState(self):passclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle("Highlighting ToolButton Example")self.resize(400, 300)# 创建工具按钮并添加到工具栏self.toolButton1 = self.add_tool_button("Action 1", self.on_action_triggered)self.toolButton2 = self.add_tool_button("Action 2", self.on_action_triggered)self.toolButton3 = self.add_tool_button("Action 3", self.on_action_triggered)# 创建工具栏并添加工具按钮toolbar = QToolBar("MyToolBar")self.addToolBar(toolbar)toolbar.addWidget(self.toolButton1)toolbar.addWidget(self.toolButton2)toolbar.addWidget(self.toolButton3)# 设置样式表,使得在鼠标悬停或点击时高亮self.setStyleSheet("QToolButton:checked { background-color: yellow; }")def add_tool_button(self, text, triggered):action = QAction(text, self)action.triggered.connect(triggered)toolButton = HighlightingToolButton()toolButton.setDefaultAction(action)toolButton.clicked.connect(self.on_tool_button_clicked)return toolButtondef on_tool_button_clicked(self):button = self.sender()if button.isChecked():for widget in self.findChildren(HighlightingToolButton):if widget is not button:widget.setChecked(False)def on_action_triggered(self):print("ToolButton triggered!")if __name__ == "__main__":app = QApplication([])window = MainWindow()window.show()app.exec_()

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

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

相关文章

提升论文写作效率:ChatGPT的妙用

ChatGPT无限次数:点击直达 提升论文写作效率:ChatGPT的妙用 在当今信息爆炸的时代,高效撰写论文成为许多从事学术研究的人士面临的一项重要挑战。传统的论文写作过程繁琐耗时,然而,随着人工智能技术的不断发展,ChatGP…

ins视频批量下载,instagram批量爬取视频信息

简介 Instagram 是目前最热门的社交媒体平台之一,拥有大量优质的视频内容。但是要逐一下载这些视频往往非常耗时。在这篇文章中,我们将介绍如何使用 Python 编写一个脚本,来实现 Instagram 视频的批量下载和信息爬取。 我们使用selenium获取目标用户的 HTML 源代码,并将其保存…

尚鼎环境科技诚邀您参观2024第13届生物发酵展

参展企业介绍 尚鼎环境科技(江苏)有限公司设立于2010年,公司坐落于江南平原南端素有『苏北门户』之称的古城扬州,办公室位在江苏省扬州市邗江区高新技术创业服务中心。 尚鼎环境科技长年致力于食品精炼/环境工程领域全程技术服务,工程实绩遍…

OpenHarmony南向开发案例:【智能体重秤】

一、简介 本demo基于OpenHarmony3.1Beta版本开发,该样例能够接入数字管家应用,通过数字管家应用监测体重秤上报数据,获得当前测量到的体重,身高,并在应用端形成一段时间内记录的体重值,以折线图的形式表现…

html公众号页面实现点击按钮跳转到导航

实现效果&#xff1a; 点击导航自动跳转到&#xff1a; html页面代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>跳转导航</title><meta name"keywords" conten…

华为框式交换机S12700E系列配置CSS集群

搭建集群环境 a.为两台交换机上电&#xff0c;按照数据规划分别对两台框式交换机进行配置 <HUAWEI> system-view [HUAWEI] sysname Switch1 [Switch1] set css id 1 [Switch1] set css priority 150 //框1的集群优先级配置为150 [Switch1] interface css-port 1 [Sw…

36-2 shiro越权 - shiro越权介绍

一、Apache Shiro 简介 Apache Shiro 是一个强大且易用的 Java 安全框架,负责执行身份验证、授权、密码和会话管理。无论是最小的移动应用程序还是最大的网络和企业应用程序,都可以通过使用 Shiro 的 API 快速、轻松地实现安全功能。 二、Shiro权限绕过原因 Apache Shiro 是…

java的深入探究JVM之内存结构

前言 Java作为一种平台无关性的语言&#xff0c;其主要依靠于Java虚拟机——JVM&#xff0c;我们写好的代码会被编译成class文件&#xff0c;再由JVM进行加载、解析、执行&#xff0c;而JVM有统一的规范&#xff0c;所以我们不需要像C那样需要程序员自己关注平台&#xff0c;大…

树莓派安装python3.6,多版本共存

打开终端或 SSH 连接到您的树莓派。 首先,确保您的树莓派已经更新到最新的软件包列表和依赖项。运行以下命令进行更新: sudo apt update sudo apt upgrade接下来,安装 Python 3.6 的依赖项。运行以下命令来安装构建 Python 所需的工具和库: sudo apt install build-essenti…

最新AI创作系统ChatGPT网站源码AI绘画,GPTs,AI换脸支持,GPT联网提问、DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

【RabbitMQ】RabbitMQ基础认识

文章目录 前言初识MQSpringAMQP如何首发消息&#xff1f;消费者交换机Fanout&#xff1a;广播Direct交换机Topic交换机声明队列和交换机 总结 前言 微服务一旦拆分&#xff0c;必然涉及到服务之间的相互调用&#xff0c;目前我们服务之间调用采用的都是基于OpenFeign的调用。这…

JavaSE图书管理系统

JavaSE图书管理系统 思路一.Main方法二.User包1.User类2.NormaUser类3.AdminUser类三.book包1.BookList类2.Book类四.operation包1.IOPeration接口2.AddOperation类新增图书3.BorrowOperation类借阅图书4.DelOperation类删除图书5.FindOperation类查找图书6.ReturnOperation类归…

使用适用于 Visual Studio Code 的 Teams 工具包为 Microsoft Teams 生成和部署应用

使用 Teams Toolkit for Visual Studio Code 为 Microsoft Teams 生成和部署应用是一个由多部分组成的系列&#xff0c;它教你使用 Teams 工具包构建 Microsoft Teams 应用的基本概念。它将指导你进行有关如何使用 Teams 工具包开始开发或增强 Teams 应用的动手练习。 先决条件…

总结|性能优化思路及常用工具及手段

性能优化是降低成本的手段之一&#xff0c;每年大促前业务平台都会组织核心链路上的应用做性能优化&#xff0c;一方面提升系统性能&#xff0c;另外一方面对腐化的代码进行清理。现结合业务平台性能优化的经验&#xff0c;探讨一下性能优化的思路及常用工具及手段。性能优化本…

jenkins(docker)安装及应用

jenkins Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具&#xff0c;起源于Hudson&#xff08;Hudson是商用的&#xff09;&#xff0c;主要用于持续、自动的构建/测试软件项目、监控外部任务的运行&#xff08;这个比较抽象&#xff0c;暂且写上&#xff0c;不做解…

稀碎从零算法笔记Day50-LeetCode:寻找峰值

LC50天成就了 题型&#xff1a;数组、滑动窗口、二分 链接&#xff1a;162. 寻找峰值 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums&#xff0c;找到峰值元素并返回其索…

STM32移植嵌入式开源按键框架

目录 STM32移植嵌入式开源按键框架 MultiButton简介 multi_button.c文件 multi_button.h文件 按键事件 案例使用方法 学习剖析 STM32移植嵌入式开源按键框架 今天移植了一款嵌入式按键框架工程MultiButton&#xff0c;MultiButton是一个小巧简单易用的事件驱动型按键驱动…

Qt 3 QVariant类的使用和实例

QVariant, 类本质为 C联合(Union)数据类型&#xff0c;它可以保存很多Qt 类型的值&#xff0c;包括 QBrush、QColor、QString 等等。也能够存放Qt的容器类型的值。QVariant::StringList 是 Qt定义的一个 QVariant::type 枚举类型的变量&#xff0c;其他常用的枚举类型变量如下表…

Leetcode刷题笔记——DFS篇

Leetcode刷题笔记——DFS篇 一、二叉树DFS的相关应用 第一题&#xff1a;括号生成 Leetcode22:括号生成&#xff1a;中等题 &#xff08;详情点击链接见原题&#xff09; 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效…

Python数据挖掘项目开发实战:用深度学习方法为图像中的物体进行分类

注意&#xff1a;本文下载的资源&#xff0c;与以下文章的思路有相同点&#xff0c;也有不同点&#xff0c;最终目标只是让读者从多维度去熟练掌握本知识点。 使用Python进行数据挖掘项目开发&#xff0c;采用深度学习方法为图像中的物体进行分类&#xff0c;可以按照以下步骤进…