当前位置: 首页 > news >正文

QT--QPushButton设置文本和图标、使能禁能、信号演示

按钮除了可以设置显示文本之外,还可以设置图标

文本

可以获取和设置按钮上显示的文本

// 获取和设置按钮的文本
QString text() const
void setText(const QString &text)

该属性,既可以在 Qt 设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

图标

可以获取和设置按钮上显示的图标

// 获取和设置按钮的图标
QIcon icon() const
void setIcon(const QIcon &icon)

样式表

样式表可以设置包括文本颜色、背景色、边框、字体等很多样式

// 获取和设置样式表
// 这是继承自QWidget类的属性和方法
// 只要继承自QWidget类的控件,都有该属性
QString styleSheet() const
void setStyleSheet(const QString &styleSheet)

样式表既可以在 Qt 设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

信号

按钮在按下和抬起的过程中,会发射多个信号。

// 当按钮被点击(按下并抬起)时,发送该信号,其中带有一个默认参数
// 对于QPushButton 通常不需要传递这个默认参数
// 对于可选中/取消选中的按钮,比如复选框QCheckBox、单选框QRadioButton 可以通过该参数,获取其是否选中
void clicked(bool checked = false);// 当按钮被按下时,发送该信号
void pressed();// 当按钮被抬起时,发送该信号
void released();

资源和图案如何放在上一节,这里不再叙述,直接上例子:

实现上面的功能:

#include "QPushButton.h"
#include<qdebug.h>
QPushButtonTest::QPushButtonTest(QWidget *parent): QWidget(parent)
{ui.setupUi(this);// 1. 设置文本和图标, 槽函数采用了匿名函数,也可以使用普通函数connect(ui.on_startNo_clicked, &QPushButton::clicked, this, [this]() {QString s = ui.on_startNo_clicked->text(); // 获取按钮的字符if (s == "启动"){// 设置文本和字体ui.on_startNo_clicked->setText("停止");ui.on_startNo_clicked->setFont(QFont("黑体", 16));// 设置图标和图标大小ui.on_startNo_clicked->setIcon(QIcon(":/icon/停止.svg"));ui.on_startNo_clicked->setIconSize(QSize(48,48));}else{// 设置文本和字体ui.on_startNo_clicked->setText("启动");ui.on_startNo_clicked->setFont(QFont("黑体", 16));// 设置图标和图标大小ui.on_startNo_clicked->setIcon(QIcon(":/icon/运行.svg"));ui.on_startNo_clicked->setIconSize(QSize(32, 32));}});//2.使能禁能connect(ui.on_connect_clicked, &QPushButton::clicked, this, [this]() {QString s = ui.on_connect_clicked->text();if (s == "连接"){ui.on_connect_clicked->setText("断开连接");ui.on_sendCommd_clicked->setEnabled(true);}else{ui.on_connect_clicked->setText("连接");ui.on_sendCommd_clicked->setEnabled(false);}});// 3. 信号演示connect(ui.on_signalShow_clicked, &QPushButton::pressed, this, [this]() {qDebug() << " pressed ";});connect(ui.on_signalShow_clicked, &QPushButton::clicked, this, [this]() {qDebug() << " clicked ";});connect(ui.on_signalShow_clicked, &QPushButton::released, this, [this]() {qDebug() << " released ";});}QPushButtonTest::~QPushButtonTest()
{}

 

相关文章:

QT--QPushButton设置文本和图标、使能禁能、信号演示

按钮除了可以设置显示文本之外&#xff0c;还可以设置图标 文本 可以获取和设置按钮上显示的文本 // 获取和设置按钮的文本 QString text() const void setText(const QString &text)该属性&#xff0c;既可以在 Qt 设计师右侧的属性窗口中修改&#xff0c;也可以在代码…...

PostgreSQL学习笔记六:模式SCHEMA

模式&#xff08;Schema&#xff09; PostgreSQL中的模式&#xff08;Schema&#xff09;是一个命名的数据库对象集合&#xff0c;包括表、视图、索引、数据类型、函数、存储过程和操作符等。模式的主要作用是组织和命名空间数据库对象&#xff0c;使得同一个数据库中可以包含…...

基础IO -- 理解文件(1)

目录 一&#xff1a;回顾文件 二&#xff1a;加深对文件的理解 1.概念 2.以w写方式打开 3.以a追加方式打开 4.重定向 一&#xff1a;回顾文件 以前学习过在C语言中的文件操作&#xff0c; 但那根本是不足以理解文件的&#xff0c;即站在语言角度是不可能理解文件的 我们要…...

golang包管理

package 在工程化的Go语言开发项目中&#xff0c;Go语言的源码复用是建立在包&#xff08;package&#xff09;基础之上的。本文介绍了Go语言中如何定义包、如何导出包的内容及如何导入其他包。 包与依赖管理 本章学习目标 掌握包的定义和使用掌握init初始化函数的使用掌握…...

outlook 添加企业邮箱账号出现 553 authentication is required 错误解决

系统报错如下 问题原因 发件服务器身份验证设置错误&#xff0c;或者未勾选发送服务器验证的选项。 解决方案 Outlook客户端 本文以Outlook 2016为例&#xff0c;具体操如下&#xff1a; 1、在Outlook客户端的电子邮件设置窗口中&#xff0c;单击其他设置&#xff1b; 2、…...

一个开源可本地部署的英文翻译服务----EnToZhAPI

EnToZhAPI项目简介 项目背景 提供本地化的英文翻译服务API。支持单句翻译请求或者批量翻译请求。支持建立查询词汇表。 项目架构 前端&#xff1a;使用原生js&#xff0c;使用MDB作为CSS框架。django模板引擎渲染可视化界面。 后端&#xff1a;使用waitress作为后端服务器…...

【unity】编辑器扩展——在OnValidate中创建、删除游戏物体

我们知道在OnValidate中创建游戏物体会发出警告&#xff0c;删除游戏物体会报错。 所以我们使用协程&#xff0c;将开始动作的信号放在OnValidate中&#xff0c;将动作的执行放在帧结尾。 参考代码如下&#xff1a; using System.Collections; using UnityEngine;public clas…...

学习记录:js算法(六十四):最后一块石头的重量

文章目录 最后一块石头的重量思路一思路二 最后一块石头的重量 有一堆石头&#xff0c;每块石头的重量都是正整数。 每一回合&#xff0c;从中选出两块 最重的 石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果如…...

单片机探秘:从理论到应用

单片机探秘&#xff1a;从理论到应用 在这个科技飞速发展的时代&#xff0c;单片机的应用如同一颗璀璨的星星&#xff0c;照亮了我们生活的方方面面。今天&#xff0c;让我们一同深入探讨单片机的原理与应用&#xff0c;揭开这个技术领域的神秘面纱。 1. 单片机概述 1.1 什么…...

options妙用

options妙用 设置默认浏览器为 Chrome options(browser “chrome”) 再次尝试运行 igsva() res <- igsva() 加载 BiocManager library(BiocManager) 设置超时时间 options(timeout 3600) 安装包 BiocManager::install(c(“org.Hs.eg.db”, “org.Mm.eg.db”)) …...

UE5 圆周运动、贝塞尔曲线运动、贝塞尔曲线点

圆周运动 贝塞尔曲线路径运动 蓝图函数库创建贝塞尔曲线点 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "MyB…...

线程局部存储(TLS)

很多时候&#xff0c;我们可能想存储一些线程的私有数据&#xff0c;属于线程的私有变量有局部变量&#xff0c;函数的参数&#xff0c;假如我们要在线程中存储全局变量&#xff0c;多个线程访问都对这个变量有自己的一个副本。 一、隐式实现 __thread int a; //linux __dec…...

JavaSE——集合7:Set接口实现类—TreeSet

目录 一、TreeSet基本介绍 二、TreeSet核心方法 三、TreeSet排序方法 四、TreeSet源码解析 1.无参构造时&#xff0c;底层是创建TreeMap对象 2.有参构造时&#xff0c;底层也创建TreeMap对象 3.执行add方法 4.执行put方法 一、TreeSet基本介绍 TreeSet是 Java 集合框架…...

【idea技巧篇】idea的类注释和方法注释模版自定义设置

这块idea技巧虽然常用&#xff0c;谁没事会经常修改模版设置呢&#xff0c;一般是搭建开发环境的时候或者开发规范要求等设置一次就行了。用的虽然少&#xff0c;但几乎每次搭建环境都会用到&#xff0c;这里记录下并分享设置的过程已经发现的更高级的一些使用技巧。 注释模版…...

【Kubernetes① 基础】一、容器基础

目录 一、进程二、隔离与限制三、容器镜像总结参考书籍 一、进程 容器技术的兴起源于PaaS技术(平台即服务)的普及&#xff1b;Docker公司发布的Docker项目具有里程碑式的意义&#xff1b;Docker项目通过“容器镜像”解决了应用打包这个根本性难题(CloudFoundry)。 容器本身的价…...

计算机网络第1章(概述)万字笔记详细版

1.1、计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施计算机网络已经像水&#xff0c;电&#xff0c;煤气这些基础设施一样&#xff0c;成为我们生活中不可或缺的一部分 我国互联网发展状况 中国互联网络信息中心CNNIC 1.2、…...

每日一练算法题(堆串的基本操作StrReplace(S, T, V))

6-2 堆串的基本操作StrReplace(S, T, V) 编写算法&#xff0c;实现堆串的基本操作StrReplace(S, T, V)。 初始条件: 串S, T和 V 均已存在,且 V 是非空串。 操作结果: 用V替换主串S中出现的所有与(模式串)T相等的不重叠的子串。输入格式: 第一行&#xff1a;S 第二行&#…...

IRP默认最小流程

IRP是Windows内核中的一种非常重要的数据结构。上层应用程序与底层驱动程序通信时&#xff0c;应用程序会发出I/O请求&#xff0c;操作系统将相应的I/O请求转换成相应的IRP&#xff0c;不同的IRP会根据类型被分派到不同的派遣例程中进行处理。 irp相当于R3下的消息&#xff0c…...

【全网最全】AI产品经理面试高频100题答案解析

详细的目录如下&#xff0c;需要的小伙伴可以详细看一下~ 第一章&#xff1a;机器学习和深度学习的关系 第二章&#xff1a;机器学习7大经典算法 算法一&#xff1a;K近邻算法【分类算法】 1.1 KNN 算法的实现原理 1.2 KNN应用场景举例&#xff1a;预测候选人能不能拿到 O…...

VLLM实现大模型服务的部署

文章目录 安装离线推理适配openAI-API的API服务使用python命令行部署使用docker部署调用启动成功的API 安装 # (Recommended) Create a new conda environment. conda create -n myenv python3.9 -y conda activate myenv# Install vLLM with CUDA 12.1. pip install vllm -i …...

Python3.8环境配置全攻略:从零开始搭建你的第一个项目

Python3.8环境配置全攻略&#xff1a;从零开始搭建你的第一个项目 1. 为什么选择Python3.8环境 Python3.8作为Python3系列的一个重要版本&#xff0c;引入了多项新特性&#xff0c;包括海象运算符(:)、位置参数限定符(/)等语法改进&#xff0c;同时在性能上也有显著提升。对于…...

Pixel Mind Decoder 效果惊艳展示:多语言文本情绪解码对比

Pixel Mind Decoder 效果惊艳展示&#xff1a;多语言文本情绪解码对比 1. 情绪解码技术的新突破 在数字沟通日益频繁的今天&#xff0c;准确理解文字背后的情绪成为AI领域的重要挑战。Pixel Mind Decoder作为新一代多语言情绪分析工具&#xff0c;通过深度学习模型实现了对文…...

为什么你的FastAPI AI接口在K8s里流式失败?——基于eBPF追踪的12层网络栈+ASGI生命周期时序图(含cgroup内存隔离失效证据)

第一章&#xff1a;FastAPI 2.0 异步 AI 流式响应对比评测报告FastAPI 2.0 原生强化了对 async/await 的深度支持&#xff0c;尤其在处理大语言模型&#xff08;LLM&#xff09;的逐 token 流式生成场景中&#xff0c;显著提升了吞吐量与首字节延迟&#xff08;TTFB&#xff09…...

Qwen3-VL-4B-Instruct:多模态视觉语言模型的技术演进与实践指南

Qwen3-VL-4B-Instruct&#xff1a;多模态视觉语言模型的技术演进与实践指南 【免费下载链接】Qwen3-VL-4B-Instruct 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-VL-4B-Instruct 技术突破&#xff1a;重新定义多模态交互范式 Qwen3-VL-4B-Instruct作为…...

AI显微镜-Swin2SR保姆级教程:一键修复模糊图片详细步骤

AI显微镜-Swin2SR保姆级教程&#xff1a;一键修复模糊图片详细步骤 1. 项目简介 你是否遇到过这样的困扰&#xff1a;手机里存着多年前的老照片&#xff0c;画质模糊看不清细节&#xff1b;或者从网上下载的图片分辨率太低&#xff0c;放大后全是马赛克&#xff1f;传统的图片…...

Qwen-Image-Edit快速入门:上传模糊图片,一键生成高清人像

Qwen-Image-Edit快速入门&#xff1a;上传模糊图片&#xff0c;一键生成高清人像 1. 认识Qwen-Image-Edit图像修复模型 1.1 模型核心能力 Qwen-Image-Edit-2511-Unblur-Upscale是一款专为图像修复设计的AI模型&#xff0c;它能将模糊、低分辨率的人像照片快速转化为高清效果…...

避坑指南:vsftpd服务重启后仍报530?检查这5个隐藏配置项

避坑指南&#xff1a;vsftpd服务重启后仍报530&#xff1f;检查这5个隐藏配置项 当你已经按照常规流程检查了vsftpd服务状态、用户列表和基础配置文件&#xff0c;却依然遭遇"530 Permission denied"的顽固错误时&#xff0c;问题往往隐藏在那些容易被忽略的配置细节…...

实时手机检测-通用:5分钟快速部署,小白也能轻松上手

实时手机检测-通用&#xff1a;5分钟快速部署&#xff0c;小白也能轻松上手 1. 模型简介 实时手机检测-通用是一款基于DAMOYOLO-S框架的高性能目标检测模型&#xff0c;专门用于在各种场景中快速准确地检测手机设备。这个模型在精度和速度上都超越了传统的YOLO系列方法&#…...

Scratch3.0离线编辑器安装指南:一步步教你轻松搞定

1. 为什么你需要Scratch3.0离线编辑器 Scratch作为全球最受欢迎的少儿编程工具&#xff0c;它的在线版本虽然方便&#xff0c;但经常会遇到网络不稳定、加载缓慢的问题。我去年给小学生上课时就遇到过这种情况——全班40个孩子同时登录在线编辑器&#xff0c;结果服务器直接卡死…...

为Jetson AGX添加自定义硬件:手把手编写设备树节点驱动LED与PPS

Jetson AGX硬件扩展实战&#xff1a;从设备树节点到LED与PPS驱动开发 在嵌入式开发领域&#xff0c;Jetson AGX Xavier凭借其强大的计算能力和丰富的接口资源&#xff0c;成为工业控制、机器人视觉等高性能场景的首选平台。但要让这块开发板真正发挥潜力&#xff0c;掌握自定义…...