Здравствуйте, гость ( Вход | Регистрация )
SABROG | Дата 15.4.2009, 8:34 |
Когда ты создаешь экземпляр объекта QApplication, то он инициализирует 2 статических указателя:
Они относятся к области видимости QWidgetPrivate. mapper - окна, которые имеют winId. Обычно это окна типа QMainWindow, QDialog. О таких окнах знает ОС и может их найти средствами API. uncreatedWidgets - alien widgets, окна, которые Qt рисует сама без помощи ОС. В момент создания любого окна в эти списки заносятся указатели. К этим указателям есть доступ и у QApplication и у любого другого класса на базе QWidget. В деструкторе ~QApplication идет проход по обоим спискам окон и их уничтожение. Таким образом связывание происходит через статические члены. |
|
Litkevich Yuriy | Дата 15.4.2009, 1:04 |
Не могу понять в каком месте происходит связывание window с app явного связывания нет, этот класс создает цикл событий всего приложения.если будет несколько объектов QApplication, если ты внимательно прочитаешь документацию по этому классу, то узнаешь что объект QApplication/QCoreApplication должен быть в программе в единственном экземпляре. |
|
narik1985 | Дата 15.4.2009, 0:00 |
есть следующий код:
Теперь вопрос: "Не могу понять в каком месте происходит связывание window с app, если будет несколько объектов QApplication, как программа разрулит ситуацию, к каком именно объектом свяжется виджет, и как связывать их с конкретными объектами?" |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 4:13 |