簡體   English   中英

我正在將QPixmap傳遞給QAbstractButton :: setIcon而不是QIcon,但是我沒有收到錯誤…為什么?

[英]I'm passing a QPixmap to QAbstractButton::setIcon instead of a QIcon, but I'm not getting an error…why?

只是想了解為什么我在這里沒有出現錯誤。 QAbstractButton的成員函數setIcon(實際上我正在使用QPushButton,但我認為兩者都是相同的)采用QIcon參數。

該函數看起來像: void setIcon(const QIcon &icon) ,我不認為它已重載。 那么,為什么可以調用該函數並給它一個QPixmap作為參數卻沒有得到錯誤呢?

這行: PB->setIcon(QPixmap()); ,其中PB是QPushButton對象,但沒有給我一個錯誤,我只想知道為什么,因為我是C ++的新手,也許我錯過了一些更基本的東西。 任何幫助表示贊賞!

您不會出錯,因為您提供給setIcon()函數的QPixmap()參數隱式轉換為QIcon對象。 或者,更好的說,由於存在以下構造函數,編譯器會根據QPixmap隱式創建QIcon對象:

QIcon::QIcon(const QPixmap &)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM