Я просматриваю код Qt и вижу, что вместо того, чтобы просто использовать QMessageBox
, программа проверяет, определен ли QAPPLICATION_H
. Если это не так, тогда используется какое-то системное сообщение по умолчанию. Вот как это выглядит:Совместимость QMessageBox
bool Connect()
{
...
{
#ifdef QAPPLICATION_H
QMessageBox::critical(0,QString("Error!"),QString("Cannot Connect To PS3"));
#else
MessageBoxA(0,"Error!","Cannot Connect To PS3",MB_ICONINFORMATION);
#endif
return false;
}
else
{
...
#ifdef QAPPLICATION_H
QMessageBox::information(0,QString("Sucess!"),QString("Connected To PS3!"));
#else
MessageBoxA(0,"Sucess!", "Connected To PS3", MB_ICONINFORMATION);
#endif
return true;
}
}
В принципе, мой вопрос: что совместимость QMessageBox
? Если я выпустил программу, которая использует только QMessageBox
, смогут ли люди, у которых нет Qt, увидеть сообщение? Я просто не хочу проверять это каждый раз в своем собственном коде, а также стандартное поле без Qt выглядит хуже.
«Стандартная» 'MessageBoxA' здесь предназначена для Windows. Таким образом, ответ будет зависеть от той платформы, на которую вы нацеливаетесь. – MrEricSir
Итак, кто-нибудь, работающий под Windows, сможет увидеть QMessageBox? Потому что то, что я делаю, это только для окон. –
Непонятно, что вы спрашиваете - будет ли ваше приложение использовать Qt или нет, и какой тип окна сообщения будет отображаться, будут решаться во время компиляции. Ожидаете ли вы, что пользователи будут компилировать исходный код на своей машине? – MrEricSir