Qt中的赋值运算符没有重载是怎么实现初始化的?

newboy686 CSDN会员 newboy686 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
今天,在写代码的时候,参考了一些Qt自带的例程,发现了好几处某个类的实例在用赋值运算符(=)进行初始化,可是查看帮助没有发现有对应类型的重载函数,例如:QBrush的初始化函数包括以下的构造函数和赋值运算符重载函数。

QBrush();
QBrush(Qt::BrushStyle style);
QBrush(const QColor & color, Qt::BrushStyle style = Qt::SolidPattern);
QBrush(Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern);
QBrush(const QColor & color, const QPixmap & pixmap);
QBrush(Qt::GlobalColor color, const QPixmap & pixmap);
QBrush(const QPixmap & pixmap);
QBrush(const QImage & image);
QBrush(const QBrush & other);
QBrush(const QGradient & gradient);
QBrush & operator=(const QBrush & brush);
QBrush & operator=(QBrush && other);

但是,在Qt自带的例程中可以看到下面的用法,是我自己简化出来的,但是可以编译、运行。

QBrush brush = Qt::blue;
qDebug() << brush;

经过调试,输出结果为:
QBrush(QColor(ARGB 1, 0, 0, 1) , SolidPattern )

请问:这是怎么一个初始化原理呢?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
newboy686 CSDN会员
C++ 语言 65,214 成员 250,514 内容