乐趣区

关于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,它失效了~

退出移动版