Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: bai от Февраль 23, 2009, 22:58



Название: Иконка в QMessageBox::critical()
Отправлено: bai от Февраль 23, 2009, 22:58
Доброго времени суток всем!

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

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

Использую Qt версии 4.4.3


Название: Re: Иконка в QMessageBox::critical()
Отправлено: Rcus от Февраль 24, 2009, 07:32
WinXP + Qt 4.4.3/4.5.0ss иконка есть. Рассказывайте какая ось, как Qt собрана.


Название: Re: Иконка в QMessageBox::critical()
Отправлено: Пантер от Февраль 24, 2009, 07:45
Linux + 4.5.0 иконки нет.


Название: Re: Иконка в QMessageBox::critical()
Отправлено: Rcus от Февраль 24, 2009, 07:57
У кого нет, может сделаете трассировку извлечения иконки? (там она вроде из стиля запрашивается)


Название: Re: Иконка в QMessageBox::critical()
Отправлено: bai от Февраль 24, 2009, 11:07
Как и у panter_dsd у меня Linux, Qt установлена из репозитария


Название: Re: Иконка в QMessageBox::critical()
Отправлено: Rcus от Февраль 24, 2009, 12:04
Ядро операционной системы в данном случае неважно. Более интересными будут сведения о DE/WM и стиле приложения (трассировка вообще сняла бы все вопросы)


Название: Re: Иконка в QMessageBox::critical()
Отправлено: Rcus от Февраль 24, 2009, 17:01
Колитесь же, у меня даже на домашней машине все работает:


Название: Re: Иконка в QMessageBox::critical()
Отправлено: BRE от Февраль 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 не выводится.


Название: Re: Иконка в QMessageBox::critical()
Отправлено: Rcus от Февраль 24, 2009, 18:30
Хм, действительно. В Qt 4.4.3 + Oxygen иконки нет. Пересобрал с 4.5ss - появилась.


Название: Re: Иконка в QMessageBox::critical()
Отправлено: bai от Февраль 24, 2009, 21:50
Спасибо всем ответившим!
Действительно в стиле Oxygen не выводятся иконки.  :(
С другими стилями все ОК.