只是想了解为什么我在这里没有出现错误。 QAbstractButton的成员函数setIcon(实际上我正在使用QPushButton,但我认为两者都相同)采用QIcon参数。
该函数看起来像:void setIcon(const QIcon &icon)
,我不认为它已重载。那么,为什么可以调用该函数并给它一个QPixmap作为参数却没有得到错误呢?
这行代码:PB->setIcon(QPixmap());
,其中PB
是QPushButton对象,不会给我一个错误,我只想知道为什么,因为我是C ++的新手,也许我错过了一些更基本的东西。任何帮助表示赞赏!
最佳答案
您不会出错,因为您赋予QPixmap()
函数的setIcon()
参数隐式转换为QIcon
对象。或者,更好的说,编译器从QIcon
隐式创建一个QPixmap
对象,因为存在以下构造函数:
QIcon::QIcon(const QPixmap &)
关于c++ - 我正在将QPixmap传递给QAbstractButton::setIcon而不是QIcon,但是我没有收到错误…为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56547170/