История изменений
Исправление CrossFire, (текущая версия) :
1. Если мой виджет, например - четыре кнопки в углах формы.
А на MainWindow должны быть эти четыре кнопки в углах и еще что-то в центре.
Я так понимаю, можно такое сделать только если ui у MyWidget - указатель в public.
Тут у вас нарушение инкапсуляции, так нельзя, он не зря в привате по-умолчанию.
Предположим, что нам нужно получить такую штуку — четыре кнопки по углам и произвольный виджет по середине.
Что мы делаем, самый наглядный вариант:
1) Создаем класс формы с четырьмя кнопками. Добавляем четыре метода на установку лейблов на кнопки. Добавляем четыре сигнала для отлова нажатий на них. Добавляем метод, принимающий указатель на QWidget, и вставляющий его в центр например QGridLayout'a.
2) Создаем еще класс, в котором любая логика (Worker). Создаем там центральный объект (Central). Создаем объект формы из пункта 1 (Form). Закидываем Central на Form, подписываемся на сигналы обоих и радуемся жизни.
2. Во-первых, свой виджет (что в случае с plugin, что в случае с promotion) - это картирка/набор разных виджетов.
Там может быть логика в любых количествах или это, мягко говоря, моветон?)
Да, конечно, может быть.
Исходная версия CrossFire, :
1. Если мой виджет, например - четыре кнопки в углах формы.
А на MainWindow должны быть эти четыре кнопки в углах и еще что-то в центре.
Я так понимаю, можно такое сделать только если ui у MyWidget - указатель в public.
Тут у вас нарушение инкапсуляции, так нельзя, но не зря в привате по-умолчанию.
Предположим, что нам нужно получить такую штуку — четыре кнопки по углам и произвольный виджет по середине.
Что мы делаем, самый наглядный вариант:
1) Создаем класс формы с четырьмя кнопками. Добавляем четыре метода на установку лейблов на кнопки. Добавляем четыре сигнала для отлова нажатий на них. Добавляем метод, принимающий указатель на QWidget, и вставляющий его в центр например QGridLayout'a.
2) Создаем еще класс, в котором любая логика (Worker). Создаем там центральный объект (Central). Создаем объект формы из пункта 1 (Form). Закидываем Central на Form, подписываемся на сигналы обоих и радуемся жизни.
2. Во-первых, свой виджет (что в случае с plugin, что в случае с promotion) - это картирка/набор разных виджетов.
Там может быть логика в любых количествах или это, мягко говоря, моветон?)
Да, конечно, может быть.