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

做B2C独立网站的话需要做海外仓吗/学校网站模板

做B2C独立网站的话需要做海外仓吗,学校网站模板,建立网站的服务器,全民推广简述 在Qt之QSS(Q_PROPERTY-原始属性)一节我们分享了Q_PROPERTY-原始属性的用法,但通常情况下我们需要很多自定义样式,例如:动态获取QSS样式,这时自定义属性就能很好的发挥其用武之地了。 简述问题解决方案…

简述

在Qt之QSS(Q_PROPERTY-原始属性)一节我们分享了Q_PROPERTY-原始属性的用法,但通常情况下我们需要很多自定义样式,例如:动态获取QSS样式,这时自定义属性就能很好的发挥其用武之地了。

  • 简述
  • 问题
  • 解决方案
  • 实例
    • 效果
    • 源码
    • QSS
    • 使用
  • 更多参考

问题

在使用QAbstractItemModel、QAbstractItemDelegate更新表格样式的时候,比如:背景色、前景色等,我们通常的做法是定义一些颜色常量,然后根据不同的条件显示不同的颜色,要么就是通过QSS全局设置,让所有的背景色、前景色保持一致。

这有一个问题,局限性太强,无法动态获取颜色值,大大降低了程序的扩展性。

解决方案

QAbstractItemModel、QAbstractItemDelegate均继承自QObject,而QSS只能用于QWidget及其子孙类,那么,如何动态获取样式属性值呢?

三部曲:

  • 创建一个从QWidget继承的专用类StyledWidget。
  • 为StyledWidget添加自定义属性,并使用Q_PROPERTY声明
  • 自定义QSS,使用自定义属性,语法:qproperty-<property name>

其中,Q_PROPERTY声明有以下要求:

  • READ getFunction
    用于读取属性,使用const限定,返回属性的类型或者类型的指针或引用。

  • WRITE setFunction
    用于设置属性,参数是一个属性的类型,或者属性的const指针或引用,返回

实例

效果

这里写图片描述

源码

创建一个从QWidget继承的专用类StyledWidget,为其添加自定义属性,并使用Q_PROPERTY声明:

StyledWidget.h

#ifndef STYLED_WIDGET
#define STYLED_WIDGET#include <QWidget>class StyledWidget : public QWidget
{Q_OBJECTQ_PROPERTY(QColor normalColor READ normalColor WRITE setNormalColor DESIGNABLE true)...
public:explicit StyledWidget(QWidget *parent = 0);~StyledWidget();QColor normalColor() const;void setNormalColor(QColor color);...private:QColor m_normalColor;...
};#endif // STYLED_WIDGET

StyledWidget.cpp

...
QColor StyledWidget::normalColor() const
{return m_normalColor;
}void StyledWidget::setNormalColor(QColor color)
{m_normalColor = color;
}
...

QSS

QSS中使用自定义的属性设置对应的样式:

StyledWidget {qproperty-normalColor: white;qproperty-disableColor: gray;qproperty-highlightColor: rgb(0, 160, 230);qproperty-errorColor: red;
}

使用

在需要设置样式的类中声明StyledWidget:

class TableModel : public QAbstractTableModel
{Q_OBJECTpublic:...QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;...
private:...StyledWidget m_styledWidget;
};

使用自定义属性设置样式:

QVariant TableModel::data(const QModelIndex &index, int role) const
{if (!index.isValid())return QVariant();switch (role){case Qt::TextColorRole:{if (index.column() == FILE_NAME_COLUMN)return m_styledWidget.normalColor();if (index.column() == SIZE_COLUMN)return m_styledWidget.highlightColor();if (index.column() == STATUS_COLUMN)return m_styledWidget.errorColor();}...}return QVariant();
}

更多参考

  • Qt之加载QSS文件
  • Qt之QSS(语法高亮)
  • Qt之QSS(样式表语法)
  • Qt之QSS(动态属性)
  • Qt之QSS(Q_PROPERTY-原始属性)
  • Qt之QSS(QDarkStyleSheet)
  • Qt之QSS(黑色炫酷)
  • Qt之QSS(白色靓丽)
  • Qt之界面换肤

转载于:https://www.cnblogs.com/itrena/p/5938311.html

http://www.jmfq.cn/news/5030551.html

相关文章:

  • 企业网站建设的评价指标/seo1现在怎么看不了
  • 财务网站模板/搜索引擎营销的实现方法有
  • 那些门户网站的官网做的好/小说网站排名
  • 做网站费用上海/sem是什么公司
  • 360网站seo如何做/网站竞价推广都有哪些
  • 阿里云网站备案入口/百度排名怎么做
  • 成都b2c外贸网站建设/seo快速优化软件网站
  • bootstrap开发网站/实时热搜榜榜单
  • 建设官方网站怎么修改预留手机/汕头百度网络推广
  • 网站正在建设中的/网络营销培训
  • 网站规划的公司/百度竞价点击软件
  • 用vs2015做网站/网站定制的公司
  • 海南网站建设fwlit/产品推广方式有哪些
  • 网站开发公司面试题/产品品牌策划方案
  • 网站托管服务公司/华联股份股票
  • 提高网站流量原则/电子商务软文写作
  • 著名的深圳网站建设/抖音seo教程
  • 温州做网站的公司有哪些/高端定制网站建设
  • 独立网站建设实验内容/西安外包网络推广
  • 网站建设商务通什么意思/seo资源
  • 重庆做网站开发的公司/重庆好的seo平台
  • 建设银行关闭网站查询信用卡账单/成人再就业培训班
  • 房产信息网站系统/百度管理员联系方式
  • 巴塘网站建设/国家免费技能培训
  • 网站建设近五年参考文献/百度推广官方电话
  • 用哪个语言做网站比较好/seo推广代理
  • 动态网站开发有哪些技术/设计网页
  • 怎么在网站做系统/谷歌搜索引擎google
  • 江门网站建设/sem是什么设备
  • 网站开发的五个阶段/中国数据统计网站