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

做网站都需要哪些费用青岛网站优化联系方式

做网站都需要哪些费用,青岛网站优化联系方式,甘肃省住房和城乡建设厅注册中心网站首页,做电脑网站用什么软件一、场景 常常会需要实现点击/hover时修改图片#xff0c;可能是一个QPushButton、QLabel、QToolButton…… 由于Qt bug#xff0c;QIcon/QSS只能实现常规态、按下态的图标切换#xff0c;hover态的图片设置无效。 解决思路无非是安装事件过滤器、自定义类并重实现事件。 …一、场景 常常会需要实现点击/hover时修改图片可能是一个QPushButton、QLabel、QToolButton…… 由于Qt bugQIcon/QSS只能实现常规态、按下态的图标切换hover态的图片设置无效。 解决思路无非是安装事件过滤器、自定义类并重实现事件。 然而总要为这些鸡毛蒜皮的操作“小动干戈”会让人不爽。 这里选择更通用的类模板来简化操作。 二、实现说明 Q_OBJECT不能在类模板中使用导致我们不能在模板类中设置信号。不过也不是刚需上面的场景回调函数足够用了。 如果一定要使用信号那么就要用一个类来代理信号的发送。 比如下面定义了InteractiveSignalSender只用于发送信号。 绑定时信号发送者需要调getSignalSender() 注意只能通过组合的方式。如果通过多继承的方式例如让模板类继承QObject会出现重复继承QObject因为WidgetType也继承自QObjectQObject不支持多重继承会有问题。 如果需要在Qt Deigner中使用需要提升那么可以单独写个头文件来放入模板实例例如 // InteractivePushButton.h #pragma once #include interactiveTemplate.husing InteractivePushButton InteractiveQPushButton;然后添加该头文件选择提升为InteractivePushButton即可。 三、实现 使用例子 ui.btnFeedback-setEnterCallback([] { ui.btnFeedback-setIcon(QIcon(:/img/hover.png)); }); ui.btnFeedback-setLeaveCallback([] { ui.btnFeedback-setIcon(QIcon(:/img/simple.png)); }); ui.btnFeedback-setClickCallback([] { ui.btnFeedback-setIcon(QIcon(:/imgpressed.png)); });connect(ui.btnFeedback-signalSender(), InteractiveSignalSender::signalEnter, this, [] {}); 模板实现如下 InteractiveTemplate.h #pragma once#include QWidgetclass InteractiveSignalSender : public QObject {Q_OBJECT public:explicit InteractiveSignalSender(QObject *parent) : QObject(parent){}Q_SIGNALS:void signalEnter(); Q_SIGNALS:void signalLeave(); };template typename WidgetType class Interactive : public WidgetType { public:explicit Interactive(QWidget *parent nullptr);void setEnterCallback(std::functionvoid() callback);void setLeaveCallback(std::functionvoid() callback);void setClickCallback(std::functionvoid() callback);InteractiveSignalSender *signalSender();protected:void mousePressEvent(QMouseEvent *event) override;void enterEvent(QEvent *event) override;void leaveEvent(QEvent *event) override; private:std::functionvoid() m_enterCallback nullptr;std::functionvoid() m_leaveCallback nullptr;std::functionvoid() m_clickCallback nullptr;InteractiveSignalSender *m_signalSender new InteractiveSignalSender(this);static_assert(std::is_base_ofQWidget, WidgetType::value, WidgetType must be a QWidget); };template typename WidgetType InteractiveWidgetType::Interactive(QWidget *parent) : WidgetType(parent) { }template typename WidgetType InteractiveSignalSender * InteractiveWidgetType::signalSender() {return m_signalSender; }template typename WidgetType void InteractiveWidgetType::setEnterCallback(std::functionvoid() callback) {m_enterCallback callback; }template typename WidgetType void InteractiveWidgetType::setLeaveCallback(std::functionvoid() callback) {m_leaveCallback callback; }template typename WidgetType void InteractiveWidgetType::setClickCallback(std::functionvoid() callback) {m_clickCallback callback; }template typename WidgetType void InteractiveWidgetType::mousePressEvent(QMouseEvent *event) {if (m_clickCallback) {m_clickCallback();}WidgetType::mousePressEvent(event); }template typename WidgetType void InteractiveWidgetType::enterEvent(QEvent *event) {emit m_signalSender-signalEnter();if (m_enterCallback) {m_enterCallback();}WidgetType::enterEvent(event); }template typename WidgetType void InteractiveWidgetType::leaveEvent(QEvent *event) {emit m_signalSender-signalLeave();if (m_leaveCallback) {m_leaveCallback();}WidgetType::leaveEvent(event); }
http://www.w-s-a.com/news/699817/

相关文章:

  • 网站源码如何安装做游戏课程网站
  • 选服务好的网站建设亚洲砖码砖专区2022
  • 网站快速查找wordpress 悬停 图片 文字
  • 网站续费 多久想自己做网站该学些什么
  • 可以自己做网站wordpress英文写作插件
  • 国外可以做会员网站的网站怎么查百度竞价关键词价格
  • 新站网站建设亚马逊关键词
  • 电商网站前端架构设计上海市建设工程安全生产协会网站
  • 东莞企业免费模版网站建设一般网站维护要多久
  • 著名建筑设计网站常州制作网站价格
  • 食品营销型网站广东省广州市白云区
  • 如何做网站哪个站推广描述对于营销型网站建设很重要飘红效果更佳
  • 济阳做网站公司99企业邮箱888
  • 国贸做网站的公司能接做网站的活的网站
  • 淮南建设厅网站上杭县建设局网站
  • 东莞做网站公司首选!西安注册公司费用
  • 做网站包括什么卖水果网站模板
  • 扬州网站建设外包wordpress 文章评分
  • 网站建设网站多少钱公司名字大全列表
  • 设计企业网站内容wordpress 投稿者 权限
  • seo网站推广免费价格低的成语
  • 做网站建设销售辛苦吗专题页是什么
  • 做网站的软件名字全拼wordpress可以上传文件吗
  • 建品牌网站公司关于asp_sql网站开发的书籍
  • 建网站公司营销型网站建设wordpress自定义登录页
  • 泉州市住房和城乡建设局网站淘宝店网站怎么做
  • 企业网站建设费未付款怎样挂账长春网站制作专业
  • 深圳找网站建设邹城市建设局网站
  • 长春火车站停运了吗网站开发概要设计
  • 网站开发表格整体页面居中网站域名详解