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

54次阅读

共计 511 个字符,预计需要花费 2 分钟才能阅读完成。

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

正文完
 0