只是想了解为什么我不是在这里出现错误。 QAbstractButton的成员函数setIcon(实际上我正在使用QPushButton,但我认为两者都相同)采用QIcon参数...
该函数看起来像:void setIcon(const QIcon &icon)
,但我认为它没有重载。那么为什么我可以调用该函数并给它一个QPixmap作为参数却没有得到错误呢?
此行:PB->setIcon(QPixmap());
,其中PB
是QPushButton对象,不会给我一个错误,我只想知道为什么,因为我是C ++的新手,也许我错过了一些东西更根本。任何帮助表示赞赏!
答案 0 :(得分:2)
您不会出错,因为您为QPixmap()
函数提供的setIcon()
参数隐式转换为QIcon
对象。或者,更确切地说,由于存在以下构造函数,编译器会从QIcon
中隐式创建一个QPixmap
对象:
QIcon::QIcon(const QPixmap &)