Russian Qt Forum
Ноябрь 23, 2024, 11:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Считать иконку приложения  (Прочитано 6922 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« : Сентябрь 19, 2013, 14:04 »

создал файл myapp.rc
Код:
IDI_ICON1               ICON    DISCARDABLE     "resource/app.ico"
Как мне в приложениии считать иконку? Хочу вывести ее крупным планов в окне About. (Файл ico имеет несколько размеров.)
Записан
Bepec
Гость
« Ответ #1 : Сентябрь 19, 2013, 14:19 »

Не знаю как из программы обратиться напрямую.
Зато могу подсказать как получить список иконок из любого файла.
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #2 : Сентябрь 19, 2013, 14:33 »

мне кажется что то такое должно прокатить:
    QIcon ico = QApplication::windowIcon();

Только QMessageBox::about не содержит параметра с иконкой, наверно виджет прийдется свой рисовать. Хотелось бы крупную иконку слева от текста.
Записан
Bepec
Гость
« Ответ #3 : Сентябрь 19, 2013, 15:24 »

Спокойно создавайте QMessageBox и указывайте ему иконку, а не пользуйтесь статической функцией.

Иконка приложения и иконка файла разные вещи как бы. Вот если они одно и то же - тогда да, должно прокатить.
Записан
NicK
Гость
« Ответ #4 : Сентябрь 19, 2013, 17:09 »

Зато могу подсказать как получить список иконок из любого файла.

Подскажите, мне интересно)
Записан
Bepec
Гость
« Ответ #5 : Сентябрь 19, 2013, 17:15 »

Код:
QList<QPixmap> getExtractIcon(QString fileName)
{
uint t = (uint)(ExtractIcon(GetModuleHandle(0) , LPCWSTR(fileName.toStdWString().c_str()), -1));

QList<QPixmap> listOut;
for (int i = 0; i < t; i++)
{
HICON tmpIcon = ExtractIcon(GetModuleHandle(0) , LPCWSTR(fileName.toStdWString().c_str()),i);
listOut.append(QPixmap::fromWinHICON(tmpIcon));
DestroyIcon (tmpIcon);
}
return listOut;
}

Нужны хедеры QPixmap/QList/"windows.h"

Хм, правда извиняюсь - это сработает только на винде, ибо winApi. Проверялось на Qt 4.7.2.
Записан
NicK
Гость
« Ответ #6 : Сентябрь 19, 2013, 17:40 »

понял, спасибо, попробую)
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #7 : Сентябрь 19, 2013, 17:57 »

QFileIconProvider - позволяет получить иконку файлов Улыбающийся
Записан

Bepec
Гость
« Ответ #8 : Сентябрь 19, 2013, 18:12 »

gil9red откуда вы такие классы выкапываете? Показает язык

Ммм... Он же ж вроде только одну иконку вытягивает, так? Или я ошибаюся? Показает язык 
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #9 : Сентябрь 19, 2013, 18:21 »

Код
C++ (Qt)
   QMessageBox aboutBox(this);
   aboutBox.setWindowTitle(tr("About %1").arg(qApp->applicationName()));
   aboutBox.setIconPixmap(windowIcon().pixmap(64));
   aboutBox.setText(tr("qwerty"));
   aboutBox.exec();
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #10 : Сентябрь 19, 2013, 20:19 »

gil9red откуда вы такие классы выкапываете? Показает язык

Ммм... Он же ж вроде только одну иконку вытягивает, так? Или я ошибаюся? Показает язык 

Явление таких классов проходит во время сна, подобно озарению Веселый
А вообще, была похожая проблема у меня, вот и гугл подкинул намек про этот класс =)

Сколько иконок он вытягивает зависит от возможностей класса QIcon Улыбающийся
Записан

gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #11 : Сентябрь 19, 2013, 20:23 »

создал файл myapp.rc
Код:
IDI_ICON1               ICON    DISCARDABLE     "resource/app.ico"
Как мне в приложениии считать иконку? Хочу вывести ее крупным планов в окне About. (Файл ico имеет несколько размеров.)

Храните 2 файла изображений программы: ico и, например, png Улыбающийся
png'шку храните в ресурсах программы и используйте, когда нужно
Записан

deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #12 : Сентябрь 25, 2013, 09:48 »

У меня иконка приложения выводится на всех окнах, как сделать чтобы она выводилась только на exe файле и в главном окне?
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #13 : Октябрь 12, 2013, 21:01 »

Явно указывать икноки для других форм.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 23.