|
0 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 41
|
||||||||||||||||
Создание указателя на главное окно MainWindow15.06.2020, 21:32. Показов 2542. Ответов 16
Здравствуйте, товарищи-программисты. Столкнулся с одной проблемой:
Имею главное окно MainWindow, также имею два виджета Chart и Sort. В каждом виджете мне нужен доступ к главному окну. В частности доступ из Chart в главное окно MainWindow происходит за счёт создание указателя:
0
|
||||||||||||||||
| 15.06.2020, 21:32 | |
|
Ответы с готовыми решениями:
16
Как прижать окно MainWindow и окно второе к левому верхнему углу экрана? Закрыть дочернее окно и открыть в единственном экземпляре Главное окно |
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,393
|
|
| 15.06.2020, 21:45 | |
|
Vulgar_Coder, телепаты не смогли разгадать не представленный в посте код (
Добавлено через 1 минуту вариант уточнить, тот ли указатель: в отладке в main запомни значение указателя на экземпляр MainWindow , а в конструкторах классов сравни
0
|
|
|
0 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 41
|
|
| 15.06.2020, 21:49 [ТС] | |
|
Пожалуйста, поподробнее, что значит запомнить значения в main?
Может быть код привести?
0
|
|
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,393
|
|||
| 15.06.2020, 21:58 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 41
|
|
| 15.06.2020, 22:16 [ТС] | |
|
Я не знаю как это работает, ноо:
MainWindow(0x211eb570, name="MainWindow") Chart MainWindow(0x211eb570, name="MainWindow") Sort Адреса вроде бы похоже, но почему тогда не работает указатель?
0
|
|
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,393
|
|
| 15.06.2020, 22:31 | |
|
Vulgar_Coder, код нужен
0
|
|
|
Заблокирован
|
||||||
| 15.06.2020, 22:34 | ||||||
0
|
||||||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,393
|
|
| 15.06.2020, 22:37 | |
|
Hellraiser, не проканает
Не MFC
0
|
|
| 15.06.2020, 22:39 | |
|
Не по теме: Алексей1153, как набросок...
0
|
|
|
|
||
| 15.06.2020, 22:44 | ||
|
0
|
||
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
|||||||||||||||||
| 16.06.2020, 09:04 | |||||||||||||||||
|
Так же есть вариант сделать фасад, что-то типа:
0
|
|||||||||||||||||
|
|
||
| 16.06.2020, 09:22 | ||
|
0
|
||
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
||
| 16.06.2020, 10:24 | ||
|
ТС хочет указатель на окно, в его случае нет разницы кто будет предком чарта и сорта: главное окно или qApp - а так как, судя по всему, источником чарта и сорта является сам майнвиндоу то вполне логично ставить им майнвиндоу как предка, а там уже при наличии мыла или более эффективных смазок достать можно до чего угодно, но... Опять таки... вряд ли задачи ТСа не могут быть решены через сигналы-слоты.
0
|
||
|
0 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 41
|
||||||
| 16.06.2020, 14:04 [ТС] | ||||||
|
Пожалуйста, можно поподробнее про:
0
|
||||||
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
|
| 16.06.2020, 14:31 | |
|
Vulgar_Coder, объявляется статическая (то есть имеющая срок жизни равный времени исполнения всей программы) переменная типа указатель на MainWindow, так как переменная объявлена в теле функции, по имени она будет доступна только в теле функции (получить доступ вне тела функции возможно с помощью "особой уличной магии"). Изначально переменная инициализируется значением
nullptr для возможности проверки и избежания краха приложения при попытке освободить память по этому указателю. Инициализируется один раз в момент запуска программы.Из чего получается что если вызывать функцию с параметром ptr != nullptr - функция присвоит статической переменной переданный указатель - это используется при создании главного окна приложения, в конструкторе класса нужно вызвать функцию указав в качестве параметра this.Далее, любой кому понадобиться указатель на главное окно может вызывать эту функцию без параметра или указав в качестве параметра nullptr присвоив возвращаемое значение переменной.
0
|
|
|
0 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 41
|
|
| 16.06.2020, 14:51 [ТС] | |
|
Я создал такой указатель, но почему-то он не указывает на главное окно, также отсутствует его адрес!
0
|
|
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
|
| 16.06.2020, 17:15 | |
|
Vulgar_Coder, раздевайтесь.... то есть код показывайте.
0
|
|
| 16.06.2020, 17:15 | |
|
Создать окно поверх главного окна, чтобы главное окно было доступно Как закрыть окно MainWindow? Создание указателя на экземпляр класса, описанного после объявления указателя
Главное окно программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|