关于qt:Qt60-qproperty不生效原因

qt的qss款式是能够应用根本属性和property属性的,比方咱们想扭转组件的minimumSize有两种办法

1.代码里写

qLabel->setMinimumSize (100,200);

2.qss里写

QLabel{
    qproperty-minimumSize:100px 200px;
}

然而咧,你会发现有些property属性写了不失效,比如说(它用了枚举值)

QLabel{
    qproperty-alignment:AlignCenter;
}

在有些论坛里有说是能够这么写的

什么起因呢?预计是在旧版本里Qt对AlignCenter字符串做了解析,新版本里不再辨认它了,那么怎么解决呢?应用Qt::AlignCenter或Qt.AlignCenter?都是不行的,咱们晓得枚举值默认状况下都是int型的,那么咱们间接设置int是不是就能够?

ok,那么咱们打印下AlignCenter的值

qDebug() << Qt::AlignCenter << static_cast<int>(Qt::AlignCenter);

QLabel{
background-color:red;
qproperty-alignment:132;
}

ok,它失效了~

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理