Есть ли способ конвертировать между этими типами данных? Я работаю с Qt, но все еще нуждаюсь в некоторых возможностях glib, и я не нашел способ сделать это. Мне нужно получить список установленных приложений с GAppInfo и показать его в QListView, и для этого мне нужно получить значок для этих приложений. Извлечение его с помощью g_app_info_get_icon возвращает GIcon, и мне нужно работать с QIcon, чтобы получить QVariant.конвертировать GIcon в QIcon
0
A
ответ
0
GIcon не предоставляет фактическую pixmap для значка.
Для того, чтобы загрузить картинку по нужному запросу, необходимо загрузить изображение определенного размера.
#include <gio/gdesktopappinfo.h>
#include <gtk/gtk.h>
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QIcon icon;
GAppInfo *appInfo = (GAppInfo *)g_desktop_app_info_new("vlc.desktop");
GIcon *gicon = g_app_info_get_icon(appInfo);
QList<int> sizes; sizes << 16 << 24 << 32 << 48 << 64;
foreach (int size, sizes) {
GtkIconInfo *iconInfo = gtk_icon_theme_lookup_by_gicon(gtk_icon_theme_get_default(), gicon, size, (GtkIconLookupFlags)0);
GdkPixbuf *pixbuf = gtk_icon_info_load_icon(iconInfo, NULL);
if (pixbuf == NULL)
continue;
QImage image(
gdk_pixbuf_get_pixels(pixbuf),
gdk_pixbuf_get_width(pixbuf),
gdk_pixbuf_get_height(pixbuf),
gdk_pixbuf_get_rowstride(pixbuf),
QImage::Format_ARGB32);
g_object_unref(pixbuf);
image.save("icon-" + QString::number(size) + ".png");
icon.addPixmap(QPixmap::fromImage(image));
}
g_object_unref(gicon);
return 0;
}
Смежные вопросы
- 1. Python: конвертировать QT QIcon в jpeg?
- 2. Как создать экземпляр GIcon
- 3. Как преобразовать QIcon в QPixmap
- 4. scaled QIcon в дочерней цепочке
- 5. QIcon inside combobox
- 6. Qt4: тонирование QIcon
- 7. Ошибка утечки памяти QIcon
- 8. Не удается увеличить QIcon
- 9. Ошибка утечки QIcon/QImage?
- 10. Проблема с использованием GIcon() для карт Google
- 11. API Google Maps v3 - GIcon не определен
- 12. QVariant to QIcon/QPixmap/QImage
- 13. Настройка QIcon() pixmap из URL
- 14. Использование QIcon не отображает изображение
- 15. PyQt использовать QStyle.StandardPixmap с QIcon
- 16. QIcon не отображается на QPushButton
- 17. QIcon дисплей часть изображения, возможно?
- 18. Создание QIcon из resources.qrc файла
- 19. Изменение цвета цвета QIcon отключен
- 20. Применить графический фильтр к QIcon в Qt5
- 21. Как установить QIcon из Url в Qt
- 22. Как отобразить GIcon в Gtk.Treeview с помощью CellRendererPixbuf
- 23. PyQt4 - Создание QIcon выглядит активным или «нажатым»
- 24. QIcon всегда отображается как 2x dpi
- 25. Динамически изменяет размер QIcon без вызова setSizeIcon()
- 26. Как получить путь файла/ресурсов для QIcon
- 27. производный от QSettings и магазина QIcon
- 28. Пользовательский QIcon с использованием QIconEngine и прозрачности
- 29. Qt5/C++: изменить стиль QIcon внутри QToolBar
- 30. QT Пользовательские QStyle для QTabBar и QIcon