QT控件样式系列(二)之QPushButton/QToolButton

2023-05-16

系列文章目录

QT控件样式系列(一)之QSlider


文章目录

  • 系列文章目录
  • 前言
  • 一、样式表
  • 二、相关应用
    • 1. 场景一
    • 2. 场景二
    • 3. 场景三


前言

本篇主要讲解 QPushButton 和 QToolButton 的样式和使用


一、样式表

QPushButton 和 QToolButton 的样式通用的,主要如下,感觉直接贴图就行了,其他属性没用

/*按钮背景图片*/
QPushButton
{
	/*剩下字体,按钮宽高根据需要设置*/
	border-image:url(:/images/Button/pushbtn.png); 
}

/*鼠标悬浮时背景图片*/
QPushButton:hover
{
	border-image: url(:/images/Button/pushbtn2.png);
}

/*鼠标点击时背景图片*/
QPushButton:pressed
{
	border-image: url(:/images/Button/pushbtn3.png);
	padding-left:3px;	/*如果按钮有文字,则点击时文字向右下角偏移3px*/
	padding-top:3px;
}

/*按钮选中时背景图片*/
QPushButton:checked
{
	border-image: url(:/images/Button/pushbtn4.png);
}

/*按钮禁用时背景图片,等价于!enabled*/
QPushButton:disabled
{
	border-image: url(:/images/Button/pushbtn5.png);
}

二、相关应用

1. 场景一

最近开发过程中,需要设计自定义形状按钮,通过使用 png 透明格式图片贴图,也能实现该功能;但是有个问题,看图说话
在这里插入图片描述
当鼠标点击按钮背景透明区域时,按钮也能响应,显然不符合需求,需要做如下处理,通过mask获取自定义形状按钮的有效区域

QPixmap pixmap(qstrImgPath);	// 读入图片
pBtn->resize(pixmap.size());	// 设置按钮大小和图片大小一致
pBtn->setMask(QBitmap(pixmap.mask()));	// 将图片转成1或0的位图,可见区域对应1,透明区域未0,通过设置Mask,可屏蔽可见区域以外的鼠标响应事件

2. 场景二

QToolButton 设置图标 ico 位置居左/置顶;虽然 QPushButton 也能设置图标 ico(默认居中),但是不能设置其位置
在这里插入图片描述

3. 场景三

QPushButton 和 QToolButton 有时需要设置可选中,如下图所示,勾选属性checkable
在这里插入图片描述
多个按钮可选时,需要设置独占(同时只能选中一个),有两种方式:勾选属性 autoExclusive 和 添加到按钮组,如下图所示
在这里插入图片描述在这里插入图片描述
但是勾选之后不能取消勾选,需要独占的同时并取消勾选可以参考我这篇博客:QT 按钮单选互斥并取消抬起

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT控件样式系列(二)之QPushButton/QToolButton 的相关文章

  • QTableWidget中添加QComboBox/QPushButton控件并响应控件点击

    QTableWidget是QT程序中常用的显示数据表格的空间 xff0c 里面不仅仅可以添加文字 xff0c 也可以添加控件 xff0c 图片等等 xff0c 此处以添加QCombobox和QPushButton举例 xff0c 点击选择控
  • QPushButton样式设置

    1 无样式的按钮 2 改变字体颜色 color span class token operator span ff0000 span class token punctuation span 3 改变字体 font span class t
  • QT控件样式系列(二)之QPushButton/QToolButton

    系列文章目录 QT控件样式系列 xff08 一 xff09 之QSlider 文章目录 系列文章目录前言一 样式表二 相关应用1 场景一2 场景二3 场景三 前言 本篇主要讲解 QPushButton 和 QToolButton 的样式和使
  • QT 设置QPushButton 颜色

    调色板类QPalette QPalette类包含了 Qt窗口不见的颜色组 collor group 1 Active组 该组的颜色用户当前活动的 active 窗口 即具有键盘或鼠标焦点的窗口 2 Inactive组 该组用语其他的窗口 3
  • 00 Qt中控件QPushButton讲解

    转载自https zhuanlan zhihu com p 440257095 前提 按钮分为了四种状态 xff1a 常态 聚焦 按下 禁用 功能 1 xff1a 背景颜色值改变 我们可以对四种状态设置一个背景颜色值 xff0c 也可以根据
  • QT控件提升之QPushButton提升为QMenu

    当一个控件进行提升之后 xff0c 就有了新的功能 xff0c 在原来的一些特性基础上 xff0c 发生一些新的改变 QT控件提升方法 xff1a 1 需要写一个需要提升为某种功能的类 2 打开qt设计师 xff0c 在对应需要提升的控件
  • QT修改QPushButton的背景色和文字颜色

    Qt中QPushButton背景颜色设置方法 不管我设置不是画笔颜色 xff0c 依然不管用 xff0c 一查才知道自己错了 因为在windows中QPushButton的颜色涉及到样式表 xff0c 所以应该设置样式表才可以 xff0c
  • PyQt——按钮类控件QPushButton

    span class token keyword import span sys span class token keyword from span PyQt5 span class token punctuation span QtCo
  • Qt为工具栏按钮QToolButton添加下拉菜单

    效果如下 主要代码如下 MainWindow MainWindow QWidget parent QMainWindow parent ui new Ui MainWindow ui gt setupUi this createToolBu
  • QT类学习系列(8)- QPushButton,QToolButton的区别

    QPushButton与QToolButton的区别 weixin 42073232的博客 CSDN博客https blog csdn net weixin 42073232 article details 84848142 QToolBu
  • QPushButton的简单使用

    Qt的基本控件接口 QPushButton的简单使用 Dialog Dialog QWidget parent QDialog parent ui new Ui Dialog ui gt setupUi this QPushButton b
  • QT QPushButton点击事件的实现

    最近需要对按钮实现效果 当鼠标按下时按钮有效果1 然后鼠标松开时按钮有效果2 分析 这里没有现成的信号可以使用 需要重载mousePressEvent 及 mouseReleaseEvent 事件函数 在mouseReleaseEvent
  • (Qt) 从按钮的 QButtonGroup 创建信号?

    我对这整件事是如何运作的感到非常困惑 我有一些按钮 我将其放入这样的组中 MainWindow MainWindow QWidget parent QMainWindow parent ui new Ui MainWindow ui gt
  • 通过信号的函数调用将默认键控参数更改为“False”。为什么?

    当通过信号连接调用函数时 如下所示 mybutton clicked connect myfunction 调用该函数时 其所有参数均设置为 False 即使已设置默认参数 这是预期的行为吗 下面的代码显示了一个简单的示例 对于我的特殊情况
  • 单击菜单标题时连接函数

    我正在尝试找到开放的端口并将它们添加到我的菜单中 现在 我成功地对菜单执行了一个操作 例如 查找端口 并且只有单击它时 它才会连接到获取所有可用端口的函数 不幸的是 这不是我想要的 我想点击菜单title 并获取我的菜单中的所有端口 下面是
  • 设置 Qt QPushButton 弹出菜单的位置(向右)

    我正在为 Qt 按钮小部件编写弹出菜单 每当单击按钮时 就会弹出一个菜单 在按钮下方 默认情况下 弹出菜单位于下方左侧 有没有办法让弹出菜单在按钮下方的右侧弹出 没有设置位置的功能 所以我想知道是否有一些复杂的方法可以做到这一点 这是一些代
  • Qt keyPressEvent、“Hold”和 keyReleaseEvent 处理按钮/鼠标点击

    我正在编写一个 Qt 程序来模拟一个硬件 我想模拟按钮按下 按住和释放事件 在我的应用程序中 我想处理键盘和鼠标点击的输入 以使用户 即我 方便 我注意到一些奇怪的行为 但我不明白 该应用程序使用 QPushButtonautoRepeat
  • Qt 样式表:无法使用 ID 选择器

    我正在学习使用 Qt 样式表向我的应用程序添加不同的样式 我在网上查看了 Qt 文档 其中说你可以使用名为ID Selector可以将主题应用于某些对象 这就是我实现此功能的方式 QPushButton button color red 但
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • qt 如何知道按钮被点击?

    我正在尝试编写一个程序 用声音进行一些操作 我的问题是我有 3 个播放按钮和 3 个标签 我希望无论我单击 播放 按钮 都应该播放按钮附近标签中名称的声音 我有一个没有任何参数的播放插槽 那么 如何分别连接到每个播放按钮和每个标签呢 实际上

随机推荐

  • Python的坑(4) -- 【if x:】的含义

    原文链接 xff1a http www liaoxuefeng com wiki 0014316089557264a6b348958f449949df42a6d3a2e542c000 001431675624710bb20e9734ef34
  • 交叉编译 acl

    交叉编译 acl 概述 访问控制列表 xff08 Access Control Lists xff0c ACL xff09 是应用在路由器接口的指令列表 在 Linux 系统中 xff0c ACL 用于设定用户针对文件的权限 xff0c 而
  • 使用xrdp实现windows 远程桌面连接linux

    之前一直用mstsc连接windows主机 xff0c 今天想用此来连接linux主机时 xff0c 发现 连接不了 xff01 xff01 与度娘亲热好久之后 xff0c 分享一篇博客给大家 xff1a 传送门 一般情况下我们用ssh客户
  • 【51单片机】定时器的简单应用——计时器

    一 定时器 stc89c52 具有三个定时器 xff08 T0 T1 T2 xff09 xff08 1 xff09 T0 T1均有四种模式 最常用模式1 xff08 2 xff09 定时器模式1工作框图 SYSclk xff08 系统时钟
  • 【51单片机】直流电机的驱动和PWM调速

    51单片机驱动直流电机与 PWM 调速是通过使用 51 单片机来控制直流电机的转速和方向 51 单片机通过控制电机的电流来实现驱动 xff0c 并通过生成 PWM 信号来调节电机的转速 使用 PWM 调速可以使得直流电机的转速精确可控 xf
  • vscode中安装 gotests gomodifytags impl goplay dlv staticcheck gopls时一直失败问题记录

    在VScode中配置golang环境时 xff0c 在我电脑设置了代理的情况下 xff0c 安装上面几个go的工具时 xff0c 一直提示失败 xff1a Installing golang org x tools gopls 64 lat
  • 计算机应用投稿经验

    计算机应用 正刊录用 xff0c 1月13日到3月14日共历时2个月 收稿 编辑部 2022 01 13 2022 01 13 2022 01 13 收审读费 编辑部 2022 01 13 2022 02 12 2022 01 18 初审
  • ajax调用产生Access-Control-Allow-Origin错误

    刚到新公司在现有界面增加功能时遇到的坑 xff1a ajax调用接口返回了405 xff0c 发现入参串的json格式数据有问题 xff0c 后台发生错误 xff0c 修改入参后继续调用 发现还是调用不通 xff0c 直接在浏览器输入后发现
  • Ubuntu16.04开机后黑屏无法进入系统登陆界面

    之前在写小论文 xff0c 接近一个月没有用Ubuntu xff0c 结果想要切换到Linux下使用Hadoop的时候 xff0c 在grub界面选择第一项Ubuntu却迟迟无法进入登陆界面 xff0c 一直卡在原地 xff0c 特征为长久
  • 【Django文档转译】第2章:模型层——第1节:模型(模块1:模型介绍)

    模型包含您的数据唯一而且准确的信息来源 它包含您正在存储的数据的重要插入和行为 一般来说 xff0c 每一个模型都映射一个数据库表 基础 xff1a 每个模型都是一个Python的类 xff0c 这些类继承 django db models
  • 【Linux云计算架构:第三阶段-Linux高级运维架构】第18章——CA认证过程及https实现方法

    本节内容 xff1a 18 1 CA认证流程 18 1 实战 xff1a 搭建CA认证中心 18 1 实战 xff1a 使用证书搭建https 实验环境 xff1a CA认证中心服务端 xff1a xuegod63 cn IP xff1a
  • Kali Linux 从入门到精通(六)-基本工具使用

    Kali Linux 从入门到精通 六 基本工具使用 基本工具 常用工具 经常使用且功能强大安全从业者必不可少的帮手Nc ncatWiresharkTcpdump NETCAT NC 瑞士军刀 基本介绍 网络工具中的瑞士军刀 小身材 大智慧
  • 交叉编译 iceoryx

    交叉编译 iceoryx 概述 iceoryx 是用于各种操作系统的进程间通信 xff08 IPC xff09 中间件 xff08 目前支持 Linux macOS QNX FreeBSD 和 Windows 10 xff09 它起源于汽车
  • 2022 manjaro安装中文输入法

    关于manjaro使用中文输入法 看网上安中文输入法都要搞半天 xff0c 还要改什么配置文件 xff0c 文章大多数也都是几年前的文章了 其实安装很简单 然后选择你需要的输入法 xff0c 我选了谷歌输入法和云输入法 输入密码安装就行了
  • VTK实现电影级渲染效果(CVR)

    目前vtk9 2 2版本中已经集成了ray marching xff08 光线步进 xff09 算法实现的体渲染功能 xff0c 官方博客中已经介绍为电影级体渲染了 xff0c 如图 xff1a 此效果是在3d显示器上的显示效果 xff0c
  • (一)树莓派3B+上手

    最近从闲鱼买了一个树莓派3B 43 xff0c 以此消遣不想加班的时间 相比于3B版 xff0c 3B 43 版处理器频率由1 2GHz升至1 4GHz xff0c 优化散热 xff1b WiFi支持2 4GHz和5GHz 双频 xff0c
  • 渗透测试-RCE远程命令/代码执行remote command/code execute

    RCE远程命令 代码执行 命令注入Command Injection 命令注入攻击 xff08 Command Injection xff09 使远程服务器执行 whoami 的命令 使远程服务器执行ipconfig命令 RCE remot
  • 运行维护-PostgreSql

    PostgreSql 下载安装地址安装组件数据目录设置superuser密码 端口安装语言安装完成 xff0c 是否安装Stack Builder 下载 https www postgresql org download windows h
  • 重置WSL2子系统发行版(WSL+Pycharm环境搭建系列之七)

    0 背景 有的时候 xff0c 我们完成一个项目的开发子系统的环境需要重置 xff0c 需要一个完全干净的新的虚拟机来重新部署 xff0c 或者子系统被我们玩坏了 xff0c 不得不重置一下 因为个人走了很多弯路 xff0c 又是卸载应用重
  • QT控件样式系列(二)之QPushButton/QToolButton

    系列文章目录 QT控件样式系列 xff08 一 xff09 之QSlider 文章目录 系列文章目录前言一 样式表二 相关应用1 场景一2 场景二3 场景三 前言 本篇主要讲解 QPushButton 和 QToolButton 的样式和使