1.效果

点击卡片内的任意元素,Label、button,卡片都会被选中。黑的效果好像不太明显,就是选中有个白色边框。

2.简述

卡片的两个状态就用一个QPushButton当背景,
设置选中和非选中状态图就行了。
正好也好做互斥。
所有的控件把事件安装到this的事件过滤器中,
this事件过滤器检测到点击事件就将背景选中。

3.代码

简单的代码示例

头文件

class CLamp : public QWidget
{Q_OBJECT
public:explicit CLamp(QWidget *parent = 0);QPushButton *buttonBg(){return m_pBtnBg;}
protected:bool eventFilter(QObject *watched, QEvent *event);private:void init();private:QString m_strImgPath = "";QPushButton *m_pBtnBg = nullptr;CState *m_pLabelState = nullptr;
};

源文件

CLamp::CLamp(QWidget *parent) : QWidget(parent)
{init();
}
bool CLamp::eventFilter(QObject *watched, QEvent *event)
{if(event->type() == QEvent::MouseButtonPress){m_pBtnBg->click();}return QWidget::eventFilter(watched,event);
}
void CLamp::init()
{m_pBtnBg = new QPushButton(this);m_pBtnBg->resize(this->size());m_pBtnBg->setCheckable(true);m_pBtnBg->setStyleSheet("QPushButton{background:#24282d;border:0px solid #414954;}""QPushButton:checked{background:#24282d;border:1px solid #414954;}");QStackedLayout *pSLayout = new QStackedLayout(this);pSLayout->addWidget(m_pBtnBg);QPushButton *pBtnIcon = new QPushButton(this);pBtnIcon->setGeometry(40,34,129,55);pBtnIcon->setIcon(QIcon(m_strImgPath + "light_icon.png"));pBtnIcon->setIconSize(QSize(26,34));pBtnIcon->setText("灯光");pBtnIcon->setStyleSheet("background:transparent;color:#ffffff;font:34px SimHei;");pBtnIcon->installEventFilter(this); //安装事件过滤器
}

Qt 点击任意子控件,背景选中 选中背景相关推荐

  1. wpf 点击某控件范围之外的区域 该控件隐藏_iOS平台设计规范(八)控件Controls...

    无论是UI.交互,还是产品经理,都应该熟读iOS平台设计规范.这对我们的产品设计,百利而无一弊.    控件(Controls) 一.按钮(Buttons) 按钮常用于触发特定操作,可自定义的背景颜色 ...

  2. QT QSpinBox 整数计数器控件 使用详解

    本文详细的介绍了QSpinBox控件的各种操作,例如:获取数值.设置前后缀.设置最大/小值.进制转换.关联信号槽.优化信号.QSS优化.文件源码.样式表 .效果:可以设置背景.边框.向上按钮.向下按钮 ...

  3. Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分 ...

  4. 小程序中点击input控件键盘弹出时placeholder文字上移

    最近做的一个小程序项目中,出现了点击input控件键盘弹出时placeholder文字上移,刚开始以为是软键盘弹出布局上移问题是传说中典型的fixed 软键盘顶起问题,因此采纳了网上搜到的" ...

  5. appim自动化--点击指定控件的指定位置

    终于有意识的把代码块封装起来了,首次给自个赞个:) 点击指定控件的指定位置,要用到枚举-- package appiumtest; import java.net.URL;import io.appi ...

  6. VS+QT开发Ocx/ActiveX控件 一

    VS+QT开发Ocx/ActiveX控件 一 VS+QT开发Ocx/ActiveX控件-------网页中全屏 二 QT开发ActiveX控件 一:所用IDE版本,需用管理员权限 二:创建Active ...

  7. Qt修炼手册10_QTableWidget控件使用说明及实践

    1.QTableWidget类简介 QTableWidget是QT对话框设计中常用的显示数据表格的控件. QTableWidget继承于类QTableView,所以在学习QTableWidget之前可 ...

  8. Qt 实现自定义Ui控件例子,以自定义的Slider为例(QWidget)

    说明 Qt可以比较方便地实现自定义控件在Qt Creator中使用.网上也有很多大神的控件可以使用,但是如果想要自己简单定制也可以按照这个流程. 本文的要点: [1]如何实现一个自定义控件? 本文使用 ...

  9. QT自定义控件之倒计时控件

    文章目录 1 效果预览 2 加载背景图片 3 尺子可拉动头部的实现 4 整个尺子部分的实现 5 表盘的实现 6 主界面代码实现 1 效果预览 我们首先来看下实现的效果: 右边的表带拉动会使左边的表盘跟 ...

  10. Qt QWidget实现开关控件SwithButton(SlipButton)

    前言 Qt做界面的时候常常会用到开关控件,类似于CheckButton有两种状态,只是界面表现形式不一样而已.本文通过QWidget类来实现一个开关控件SwitchBtn(有些平台上又称为SlipBu ...

最新文章

  1. ResNeSt之语义分割,ADE20K全新SoTA 47.6%
  2. 浙江省单招单考计算机专业,2016浙江省单招单考《计算机类》试题卷
  3. 1.1.2 操作系统的特征(并发、共享、虚拟、异步)
  4. python扫盲系列--(4)
  5. 安裝 CentOS 7 後必做的七件事
  6. WSUS2.0数据导入、导出(备份、还原)
  7. md5值最大长度_豆长老之比特币-哈希值是什么11月16日分享篇
  8. fs.readfile 显示html,从fs.readFile获取数据
  9. python获取月份字符串_python 时间字符串与日期转化
  10. php session 不通过cookie_PHP会话控制机制中,Cookie和Session的应用,你更喜欢谁
  11. 交换机二级可以分流么_「网络安全」网络设备篇(2)——交换机
  12. 万字长文带你从头构建文本分类器
  13. JavaScript:split() 方法和join() 方法
  14. vmware 12 可用 序列号
  15. 计算机使用快捷键大全
  16. 数据库系统概念第六版
  17. rtklib postpos 梳理(以单点定位为例)
  18. python编程快速上手 ----让繁琐的工作自动化 (2.自动化任务)
  19. Android主题和样式
  20. Javascrit通过百度地图API获取客户端IP、地址

热门文章

  1. CF1041E Tree Reconstruction
  2. Code[VS]1159 最大全0子矩阵
  3. webpack5学习与实战-(九)-区分开发和生产环境的配置
  4. 柱状图多维条形图vue_使用D3.js+Vue实现一个简单的柱形图
  5. django pdf转html5,pytho pdfkit 将网页django2.0教程内容打印成pdf文档
  6. if函数判断单元格颜色_IF条件函数10大用法完整版,全会是高手,配合SUMIF,VLOOKUP更逆天...
  7. 铺铜规则在哪设定_干货丨PCB layout结合生产设计必须遵循这六大规则!
  8. qcustomplot 游标吸附_QCustomplot使用分享(九) 绘制图表-多功能游标
  9. vue视频文本编辑器html,Vue 轻量级富文本编辑器 Vue-Quill-Editor
  10. mach-O文件结构分析