QT之自定义的QSS

更新时间:2023-07-30 14:42:22 阅读: 评论:0

QT之⾃定义的QSS
简述
在⼀节讲过关于“设置对象属性”的⽤法,⾥⾯有⼀条很重要的原则是:任何可被识别的Q_PROPERTY都可以使
⽤qproperty-<property name>语法设置。
属性
下⾯我们以QLabel为例,讲解如何在QSS中使⽤属性。
class Q_WIDGETS_EXPORT QLabel : public QFrame
禁忌二{
...
Q_PROPERTY(QPixmap pixmap READ pixmap WRITE tPixmap)
Q_PROPERTY(bool scaledContents READ hasScaledContents WRITE tScaledContents)
...
};
可以看到,其中pixmap、scaledContents等属性均可使⽤,这样我们就可以通过QSS按照qproperty-<property name>语法的⽅式设置标签的图标和适应性了。
但是如果要设置标签的⼤⼩该怎么办呢?因为我们并没有发现与width、height、size相关的属性。难道真的束⼿⽆策?当然不是了,我们可以继续向上级联查找基类,这样,可以很容易的发现QWidget中有需要的属性:
class Q_WIDGETS_EXPORT QWidget : public QObject, public QPaintDevice
{
...
Q_PROPERTY(QSize minimumSize READ minimumSize WRITE tMinimumSize)
Q_PROPERTY(QSize maximumSize READ maximumSize WRITE tMaximumSize)
.
..
};小蟋蟀
实例
通过以上的分析,我们可以很快的⽤QSS构建属于⾃⼰的样式了。祝福语句
QSS
下⾯,主要介绍qproperty-<property name>语法,其它样式可以忽略。
ScanButtonWidget#quickButton{
qproperty-normalPix: ":/safe/scan_button_quick";
qproperty-animPix: ":/safe/scan_button_quick_hover";
qproperty-text: "快速扫描";国际新闻热点
}
class ScanButtonWidget : public QWidget
北刘寄奴{
Q_OBJECT
//⾃定义属性,⽤于样式表
Q_PROPERTY(QString animPix READ animPix WRITE tAnimPix DESIGNABLE true SCRIPTABLE true)
Q_PROPERTY(int animNum READ animNum WRITE tAnimNum DESIGNABLE true SCRIPTABLE true)
Q_PROPERTY(QString normalPix READ normalPix WRITE tNormalPix DESIGNABLE true SCRIPTABLE true)    Q_PROPERTY(int normalNum READ normalNum WRITE tNormalNum DESIGNABLE true SCRIPTABLE true)    Q_PROPERTY(QString text READ text WRITE tText DESIGNABLE true SCRIPTABLE true)
团支部委员void ScanButtonWidget::tAnimPix(const QString &pix)
{
m_button->tAnimInfo(pix, m_animNum);
}
void ScanButtonWidget::tNormalPix(const QString &pix)
{
m_button->tNormalInfo(pix, m_normalNum);
软翅风筝}
void ScanButtonWidget::tText(const QString &text)
{
m_text = text;
m_textLabel->tText(text);
广东景区
}
应⽤qss⽂件后,加载样式:
m_quick=new ScanButtonWidget;
m_quick->tObjectName("quickButton");

本文发布于:2023-07-30 14:42:22,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1102071.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:safe5
标签:属性   设置   样式
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图