Я передаю QPixmap в QAbstractButton :: setIcon вместо QIcon, но я не получаю сообщение об ошибке ... почему? - PullRequest
0 голосов
/ 11 июня 2019

Просто пытаюсь понять, почему я не получаю ошибку здесь. Функция-член QAbstractButton (ну, на самом деле, я использую QPushButton, но я предполагаю, что это так или иначе) setIcon принимает аргумент QIcon ...

Функция выглядит так: void setIcon(const QIcon &icon) и я не думаю, что она перегружена. Так почему же я могу вызвать функцию и дать ей QPixmap в качестве аргумента, но не получить ошибку?

Эта строка: PB->setIcon(QPixmap());, где PB - это объект QPushButton, не дает мне ошибки, и я просто хочу знать почему, потому что я новичок в C ++ и, возможно, я упускаю что-то более фундаментальное. Любая помощь приветствуется!

1 Ответ

2 голосов
/ 11 июня 2019

Вы не получите ошибку, потому что аргумент QPixmap(), который вы даете функции setIcon(), неявно преобразуется в объект QIcon. Или, лучше сказать, компилятор неявно создает объект QIcon из QPixmap, поскольку существует следующий конструктор:

QIcon::QIcon(const QPixmap &)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...