![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
narik1985 |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 14.4.2009 Пользователь №: 681 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
есть следующий код:
Теперь вопрос: "Не могу понять в каком месте происходит связывание window с app, если будет несколько объектов QApplication, как программа разрулит ситуацию, к каком именно объектом свяжется виджет, и как связывать их с конкретными объектами?"
Причина редактирования: используй тэг code
|
|
|
![]() |
SABROG |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Когда ты создаешь экземпляр объекта QApplication, то он инициализирует 2 статических указателя:
Они относятся к области видимости QWidgetPrivate. mapper - окна, которые имеют winId. Обычно это окна типа QMainWindow, QDialog. О таких окнах знает ОС и может их найти средствами API. uncreatedWidgets - alien widgets, окна, которые Qt рисует сама без помощи ОС. В момент создания любого окна в эти списки заносятся указатели. К этим указателям есть доступ и у QApplication и у любого другого класса на базе QWidget. В деструкторе ~QApplication идет проход по обоим спискам окон и их уничтожение. Таким образом связывание происходит через статические члены. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 16.7.2025, 16:19 |