qtexoption::对齐会删除信息
为什么不能存储qtexoption::对齐会删除信息,qt,qt5,Qt,Qt5,为什么不能存储Qt::AlignBaseline标志? 经过一些研究,我发现它存储在QTExtraption中的一个8位宽的位字段中。由于它的值为0x100,因此删除该标志也就不足为奇了 这种行为是故意的吗?我还没有弄清楚到底是什么,但是,根据文档,这是一个非常普通的垂直对齐标志 #include <QDebug> #include <QTextOption> struct MyTextOption { int int_alignment : 8; Qt
Qt::AlignBaseline
标志?
经过一些研究,我发现它存储在QTExtraption中的一个8位宽的位字段中。由于它的值为0x100
,因此删除该标志也就不足为奇了
这种行为是故意的吗?我还没有弄清楚到底是什么,但是,根据文档,这是一个非常普通的垂直对齐标志
#include <QDebug>
#include <QTextOption>
struct MyTextOption
{
int int_alignment : 8;
Qt::Alignment alignment;
};
int main()
{
const Qt::Alignment alignment = Qt::AlignLeft | Qt::AlignBaseline;
qDebug() << alignment; // Qt::AlignLeft|Qt::AlignBaseline
QTextOption option;
option.setAlignment(alignment);
qDebug() << option.alignment(); // Qt::AlignLeft|Qt::AlignLeading
MyTextOption my_option;
my_option.int_alignment = alignment;
qDebug() << static_cast<Qt::Alignment>(my_option.int_alignment);
// Qt::AlignLeft|Qt::AlignLeading
my_option.alignment = alignment;
qDebug() << my_option.alignment; // Qt::AlignLeft|Qt::AlignBaseline
}
#包括
#包括
结构MyTextOption
{
内部校准:8;
Qt::对齐;
};
int main()
{
常量Qt::Alignment Alignment=Qt::AlignLeft | Qt::AlignBaseline;
qDebug()在Qt 5.11上可复制。我打开了一个问题:在Qt 5.11上可复制。我打开了一个问题: