实现 QPushButton 默认效果

【Qt 按钮】QPushButton所有函数和样式 【Qt 按钮】QPushButton所有函数和样式 一、QSS语句 (界面样式大全) 二、 构造函数 三、Geometry (获取属性) 四、 QFont 五、setFont 六、text 七、setText 八、move 九、resize 十、adjustSize[按钮自动适应文本大小] 十一、setFocus 十二、hasFocus 十三、clearFocus 十四、setCursor 十五、setDisabled 十六、setProperty 十七、setEnabled 十八、setVisible ( 阅读详情

简述

很多时候,我们在使用 QPushButton 的过程中,会遇到这样一个问题:在一个窗口widget中新建了一个QPushButton,如果widget已经通过setStyleSheet()设置了样式表,那么 QPushButton 的样式就变得和它的父类 widget 的样式一样,显得难看。那么,如果想保留 QPushButton 默认效果的样式,该怎么处理呢?有两种方法:

方法1:再单独设置 QPushButton 的样式

以下是实现QPushButton 默认样式效果相近的代码:

QPushButton *btn2 = new QPushButton(this);
    btn2->setText("btn2");
    btn2->setStyleSheet("QPushButton{background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(214, 214, 214, 255), stop:0.5 rgba(236, 236, 236, 255));border: 1px solid rgb(124, 124, 124);border-radius:2px;}"
                        "QPushButton:pressed{background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(134, 198, 233, 255), stop:0.5 rgba(206, 234, 248, 255));border-radius:2px;border: 1px solid #5F92B2;}"
                        "QPushButton:hover{background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(181, 225, 250, 255), stop:0.5 rgba(222, 242, 251, 255));border-radius:2px;border: 1px solid #3C80B1;}"
                        );

方法2:对 QPushButton 父类设置样式表时,只针对特定的控件进行设置,可以排除对子控件 QPushButton 的影响。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include <QWidget>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->resize(800,600);

    //方法2:设置 mainwindow 的样式表
    this->setStyleSheet("QMainWindow{background-color:rgb(215,225,235)}"); 
    //this->setStyleSheet("background-color:rgb(215,225,235)");  对整个mainwindow及子控件设置样式表             

    //不对 btn1 设置样式表,则它会跟随父类的样式表
    QPushButton *btn1 = new QPushButton(this);
    btn1->setText("btn1");
    btn1->move(0,0);


    //方法1:单独设置Qt QPushButton按键默认效果相近的样式表
    QPushButton *btn2 = new QPushButton(this);
    btn2->setText("btn2");
    btn2->setStyleSheet("QPushButton{background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(214, 214, 214, 255), stop:0.5 rgba(236, 236, 236, 255));border: 1px solid rgb(124, 124, 124);border-radius:2px;}"
                        "QPushButton:pressed{background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(134, 198, 233, 255), stop:0.5 rgba(206, 234, 248, 255));border-radius:2px;border: 1px solid #5F92B2;}"
                        "QPushButton:hover{background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(181, 225, 250, 255), stop:0.5 rgba(222, 242, 251, 255));border-radius:2px;border: 1px solid #3C80B1;}"
                        );

    btn2->move(100,100);
}

MainWindow::~MainWindow()
{
    delete ui;
}




Qt实现右侧抽屉样式(附完整源码) 阅读详情

相关推荐

Cadence AMS数模混合仿真:从零搭建高效验证环境的实战指南

本文是Cadence AMS数模混合仿真的实战指南,详细介绍了如何从零搭建高效的芯片验证环境。内容涵盖环境准备、Testbench创建、核心Config视图与ADE设置、仿真运行调试及性能加速技巧,旨在帮助工程师解决SoC设计中数字与模拟模块的集成验证难题,确保芯片设计一次成功。

weixin_29164091的博客 320

QPushButton 的默认样式

QPushButton{ background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(214, 214, 214, 255), stop:0.5 rgba(236, 236, 236, 255)); border: 1px solid rgb(124, 124, 124);...

lxj434368832的博客 3506

OpenHarmony自定义Launcher

OpenHarmony源码版本:4.0release开发板:DAYU / rk3568DevEco Studio版本:4.0.0.600切换分支为OpenHarmony-4.0-Release,并下载源码。

Abner_Crazy的博客 1628

QT修改QPushButton的背景色和文字颜色

QT修改QPushButton的背景色和文字颜色

ken2232的博客 3559

信号转换为图像 时域频域分析

一维信号如何转化为图像?深度学习如何学习 1.当然,直接1d卷积也是可以的。 2. 以信号强度的数值作为纵坐标,以时间为横坐标绘制信号点就可以了。 周霖那个即是 要看看代码是如何做的, 即使是单导联 5000个点,怎么变成50005000的分辨率的 3. 直接把多通道的一维信号合并成二维图像,然后直接按图像卷积的方法去做~~ 2225000这样一个图 ~可以看看语音处理的相关Net,其中比较...

王不留行嘿呦嘿 2万+

数字电子时钟——数字电路课设

本文设计了一种基于中小规模集成电路的数字电子时钟系统,采用模块化设计方法,包含晶振电路(CD4060+D触发器)、计时电路(74HC161计数器)、数码管驱动(CD4511)和整点报时功能。系统实现了60进制秒/分、24进制小时、7进制星期的计时显示,支持手动校时功能,并具备整点报时特性(59分54-58秒5次500Hz低音,59秒1次1000Hz高音)。通过分模块调试与整合,最终实物电路满足设计要求,获得优秀评价。

来自FZU——电子科学与技术专业 1487

Qt之QPushButton设置为默认按钮

Qt会自动在自动默认按钮周围保留此空间。即自动默认按钮可能会有稍大的提示。对于具有QDialog父级的按钮。此属性的默认值为true。其周围有一个额外的框架。否则默认为false。

weixin_42286052的博客 1400

别再搞错了!ERA5-Land小时数据里的辐射值,原来不是你想的那个‘瞬时值’

本文深入解析ERA5-Land小时数据中辐射值的累积特性,揭示其与瞬时值的本质区别。通过详细的数据处理方法和Python代码示例,指导研究者正确转换累积辐射量为实用瞬时值,避免常见误区,提升气候模型验证的准确性。

weixin_28700411的博客 208

QPushButton的default样式和flat样式

QPushButton控件可以设置其样式,

davidsu33的专栏 7977

保姆级教程:用CANoe手把手复现ECU刷写全流程(含BootLoader三阶段详解)

本文提供了一份详细的CANoe ECU刷写实战指南,涵盖BootLoader三阶段的深度解析。从实验环境搭建到预编程、主编程及后编程阶段,逐步讲解ECU刷写的关键步骤和隐藏逻辑,特别强调UDS诊断和CAN通信的精确控制,帮助开发者掌握ECU刷写的核心技术。

weixin_29234423的博客 528

PC 端微信页面拆分及 JavaFx 使用

一、前言 对于一个知识点的学习过程来说,往往使用自己熟悉的工具或方式才更易于上手。因为所有同类型的知识点在抛出复杂的流程拨云见日后,所能得到的几乎都是同样的设计思想和实现理论。 在 Java 语言桌面版开发中,直至目前共提供了三套 UI 开发方式;Awt、Swing、JavaFx,以及一些扩展组件 SWT 等。在这三套 UI 组件中,JavaFx 是最新也是最为好用的,因为他提供了丰富的功能,以及...

bugstack虫洞栈 3606

QPushButton如何设置按下效果

从https://blog.youkuaiyun.com/qiangzi4646/article/details/80135120转载而来 如图 —————————— 那么 QPushButton 怎么实现这种效果呢?其实很简单 在 qt 设计师直接编辑按钮属性即可,在 QPushButton 的 QAbstractButton 属性里勾选 checked 和 autoExc...

SplashSugar的从一到零 1万+

【2026最新版】PCL点云处理算法汇总(C++长期更新版)

PCL学习目录。博客长期更新,最近一次更新时间为:2026年10月4日。

点云侠的博客 63万+

Qt5.9中用QPushbutton按钮做出QCheckBox效果(函数QPushbutton::setCheckable())(当前状态、鼠标滑过状态、选中后状态)

本文主要总结用QPushbutton类做出QCheckBox的效果,同时用QSS实现按钮默认图标和颜色字体,鼠标滑过状态,选中后状态。 1.1下面,将关键代码贴出如下: QPushButton *allSelectBtn = new QPushButton("全选"); allSelectBtn->setCheckable(true); allSelectBtn-&gt...

净无邪博客 9640

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

QT QPushButton 响应回车 设置默认按钮

Qt编程中,通常会设置某个按钮为默认焦点,当按键盘上“回车”的时候,就会发射clicked()信号,在用一个槽来接受这个信号,就可以做很多其他的处理。代码实现如下: QPushButton* pushButton = new QPushButton(tr("保存")); ui.pushButton-&gt;setFocus(); //设置默认焦点 ui.pushButton-...

technologyleader的专栏 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

积累:使用QPushButton模拟开关按键

2.1 设置 QPushButton 默认样式。2.2 主要实现源码。

locahuang的博客 415

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

[Qt]如何屏蔽QPushButton的键盘事件

今天想实现一种效果:当界面上的QPushButton获得焦点后,点击键盘的上、下、左、右方向键,则QPushButton随之前后左右移动。 很简单的一种效果,但是实现起来却绕了弯路。 最初的想法就是在界面类中重载keyPressEvent(),当键值为方向键时对QPushButton对象进行相应的移动操作,非常简单。编译运行,选中QPushButton控件,点击键盘的左右方向键,控件并没有发生预期...

hyafz的专栏 4673

QPushbutton

QPushbutton

记录我目之所及的世界 294

28.QPushButton

QPushButton继承自QAbstracButton 目录 1创建按钮控件 1.1QPushButton() 创建一个无父控件的按钮控件 1.2QPushButton()创建控件的同时,设置父控件 1.3QPushButton(text,parent) 创建控件的同时,设置提示文本和父控件 1.4QPushButton(icon,text,parent) 创建控件的同时,设置图标,提示文本和父控件 2菜单设置 2.1QMenu API 2.1.1创建一个...

potato123232的博客 508

qt-C++笔记之QToolButton和QPushButton的区别

【代码】qt-C++笔记之QToolButton和QPushButton的区别。

小勇博客 726

PyQt5 QPushButton 设置文字对齐方式(基于setStyleSheet)

PyQt5 QPushButton 设置文字对齐方式(基于setStyleSheet) 创建一个QPushButton(文本默认居中对齐) import sys from PyQt5.QtWidgets import QGridLayout, QWidget, QPushButton, QApplication class Tools(QWidget): def __init__(self): super().__init__() self.ui()

R.zb的博客 5462

QT 按键样式设置

开发的QT程序的时候,按键效果一般都会自己写,按下和释放的效果以及按键被禁用的效果,直接上程序吧,不同的控件样式表的内容应该不一样,网上找了很久没有找到QT的样式说明,哪位朋友找到了还望不吝赐教,下面直接上代码:QPushButton{//默认样式 border-radius:10px;//圆角 color: rgb(255, 255, 255);//按钮文字颜色 background-color:

CallMeSumo的博客 5619

qt 按钮的相关设置、操作

QPushButton 响应回车 设置默认按钮 ui.pushButton->setFocus(); //设置默认焦点 ui.pushButton->setShortcut( QKeySequence::InsertParagraphSeparator ); //设置快捷键为键盘的“回车”键 ui.pushButton->setShortcut(Qt::Key_Enter); //设

526

Qt CSS 按键样式设计-选中,按下动画效果

qt ,按键全套动作CSS样式设计示例,失效界面交互动画

weixin_44075027的博客 1290

QT按钮类的美化资源下载

QT按钮类的美化资源下载 去发现同类优质开源项目:https://gitcode.com/ 在此仓库中,我们提供了针对QT开发环境中QPushButton类的美化资源文件。QT作为一款广泛使用的跨平台C++图形用户界面应用程序框架,其自带的QPushButton类在默认情况下特效较为简单。这在开发游戏或其他图形界面丰富的应用程序时,可能会显得不够精致,难以与整体项目风格协调。 为此,我们对该按钮类...

gitblog_06740的博客 364

Qt中按钮背景图片的切换设置

转自:http://gjianw217.blog.163.com/blog/static/26144182012871551233/ 第一种方法:   第二种方法: 使用setStyleSheet()函数进行设置: 如将一个QPushButton类的按钮设置为: ui->btn_name->setStyleSheet("QPushButton{backgroun

pamxy啲Coding窝... 4632
下一篇: 如何转载别人的csdn博客
不是很大锅
博客等级 码龄10年 34粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不是很大锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值