gpt4 book ai didi

c++ - 错误 :conversion from 'QFont' to non-scalar type 'QFontMetricsF' requested-Qt

转载 作者:太空宇宙 更新时间:2023-11-04 16:10:40 24 4
gpt4 key购买 nike

我正在学习 C++ Programming with Qt。 Painter章节中与图表相关的练习之一。

这是我的代码:

#include <QFont>
#include<QFontMetricsF>
QRectF Node::outlineRect() const
{
const int Padding = 8;
QFontMetricsF metrics = qApp->font();
QRectF rect = metrics.boundingRect(myText);
rect.adjust(-Padding, -Padding, +Padding, +Padding);
rect.translate(-rect.center());
return rect;
}

我该如何解决?

最佳答案

下面的表达式使用了copy-initialization :

QFontMetricsF metrics = qApp->font();

copy-initialization需要从 QFontQFontMetricsF 的隐式转换,但是 QFontMetricsF 的构造函数采用 QFont 是显式的。这就是为什么你必须使用 direct-initialization ((){}):

QFontMetricsF metrics(qApp->font());
QFontMetricsF metrics{qApp->font()};

关于c++ - 错误 :conversion from 'QFont' to non-scalar type 'QFontMetricsF' requested-Qt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29118342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com