3
這兩個類都提供文件夾和文件的標準圖標。我應該使用哪一個?他們保證是一樣的嗎?我應該從QFileIconProvider或QStyle獲取標準圖標嗎?
這兩個類都提供文件夾和文件的標準圖標。我應該使用哪一個?他們保證是一樣的嗎?我應該從QFileIconProvider或QStyle獲取標準圖標嗎?
Qt並不嚴格保證......但是,在當前的實現中,QFileIconProvider
是使用樣式的簡寫。這不太可能改變,這樣做是非常合乎邏輯的......因此,我停止挑剔:是的,這是有保證的。
Qt是開源的,所以只需看一下源代碼:https://github.com/qt/qtbase/blob/dev/src/widgets/itemviews/qfileiconprovider.cpp。你有
QIcon QFileIconProvider::icon(IconType type) const
{
Q_D(const QFileIconProvider);
switch (type) {
case Computer:
return d->getIcon(QStyle::SP_ComputerIcon);
//....
QIcon QFileIconProviderPrivate::getIcon(QStyle::StandardPixmap name) const
{
switch (name) {
case QStyle::SP_ComputerIcon:
if (computer.isNull())
computer = QApplication::style()->standardIcon(name);
return computer;
//...