Действительно ли можно позвонить qApp->exec()
или QCoreApplication::exec()
, если я использую экземпляр QApplication
? Поскольку это статическая функция, в обоих случаях будет вызываться QCoreApplication::exec()
. Тем не менее, похоже, что даже если я назову один из них, моя программа на основе QApplication
работает просто отлично - это просто удача/совпадение или это правда?Является ли qApp-> exec() действительным, если используется QApplication
Благодарим за помощь!
qApp не является функцией, поэтому вы не можете назвать его как один (то есть qApp() является ошибкой). Объектом, который предоставляет qApp, является объект QCoreApplication, а не объект QApplication. –
Вы правы, это всего лишь макрос, и использование() является ошибкой. Тем не менее, опираясь на тип приложения, он подчиняется реальному типу экземпляра. Например, если вы включите QWidgets, он будет передан в QApplication. –
Ouch. Итак, что означает qApp, зависит от того, какие заголовки вы включаете. :( –