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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Иконка в QMessageBox::critical()  (Прочитано 8222 раз)
bai
Новичок

Offline Offline

Сообщений: 12


Просмотр профиля
« : Февраль 23, 2009, 22:58 »

Доброго времени суток всем!

Кто может ответить почему при выводе окна критического сообщения на нем отсутсвует иконка (белый крест на красном круге)?

Код:
QMessageBox::critical(this, qApp->applicationName(), QString::fromUtf8("<b>Невозможно подключиться к серверу!</b><p>") + db.lastError().text());

Использую Qt версии 4.4.3
Записан
Rcus
Гость
« Ответ #1 : Февраль 24, 2009, 07:32 »

WinXP + Qt 4.4.3/4.5.0ss иконка есть. Рассказывайте какая ось, как Qt собрана.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Февраль 24, 2009, 07:45 »

Linux + 4.5.0 иконки нет.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Rcus
Гость
« Ответ #3 : Февраль 24, 2009, 07:57 »

У кого нет, может сделаете трассировку извлечения иконки? (там она вроде из стиля запрашивается)
Записан
bai
Новичок

Offline Offline

Сообщений: 12


Просмотр профиля
« Ответ #4 : Февраль 24, 2009, 11:07 »

Как и у panter_dsd у меня Linux, Qt установлена из репозитария
Записан
Rcus
Гость
« Ответ #5 : Февраль 24, 2009, 12:04 »

Ядро операционной системы в данном случае неважно. Более интересными будут сведения о DE/WM и стиле приложения (трассировка вообще сняла бы все вопросы)
Записан
Rcus
Гость
« Ответ #6 : Февраль 24, 2009, 17:01 »

Колитесь же, у меня даже на домашней машине все работает:
Записан
BRE
Гость
« Ответ #7 : Февраль 24, 2009, 18:00 »

Все от стиля зависит.
Код
C++ (Qt)
int main(int argc, char *argv[])
{
       QApplication a(argc, argv);
 
       QApplication::setStyle( "plastique" );
 
       QMessageBox::critical( 0, "Alarm", qVersion() );
       return 0;
}
 
У некоторых стилей иконка выводится (windows, motif, cde, plastique).
По умолчанию у меня стоит стиль Oxygen и иконка в диалогах QMessageBox не выводится.
Записан
Rcus
Гость
« Ответ #8 : Февраль 24, 2009, 18:30 »

Хм, действительно. В Qt 4.4.3 + Oxygen иконки нет. Пересобрал с 4.5ss - появилась.
Записан
bai
Новичок

Offline Offline

Сообщений: 12


Просмотр профиля
« Ответ #9 : Февраль 24, 2009, 21:50 »

Спасибо всем ответившим!
Действительно в стиле Oxygen не выводятся иконки.  Грустный
С другими стилями все ОК.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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