Всем привет Может кто толково пояснить, как формируется файл ui_somename.h? Или

может направьте в нужный уголок интернета, где можно грамотно посмотреть. Если коротко, есть класс с формой, который в зависимости от текущего шага, выполняет разный функционал одинаковым графическим интерфейсом. Хотел, чтобы не городить всякие флаги и т.п., сделать так, чтобы два класса использовало один *.ui файл.
namespace Ui {
class WorkerWithWords: public Ui_WorkerWithWords {};
class WordCreator : public Ui_WorkerWithWords{};
} // namespace Ui
Если строку про класс WordCreator дописать руками в ui_somename.h, то всё работает, но до первой пересборки проекта. Собственно, вопрос в том, а можно ли как-то повлиять на создание этого файла или может есть какой-то более правильный подход в использовании формы?
Не хочется просто создавать второй класс с формой, где её содержимое будет идентичным, просто поведение другим

2 ответов

9 просмотров

Можно скопировать код ui_somename.h в свой отдельный *.h и подключить там где нужно и как нужно.

За генерацию отвечает uic. У вас скорее всего есть класс ::WorkerWithWords, который включает Ui::WorkerWithWords* ui как поле. Ожидается, что править нужно именно его. Поэтому, если вам нужна другая функциональность, то вы должны сделать копию своего ::WorkerWithWords с именем ::WordCreator и вносить изменения уже в него в соответствии с требуемой логикой. Думаю, что полезно переименовать сам ui-класс во что-то нейтральное по отношению к WorkerWithWords и WordCreator. Назовите его тем, чем он является, а не тем, что делает. А вот уже свои классы называйте в соответствии с тем, что они делают

Похожие вопросы

Обсуждают сегодня

вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Друзья, за кем?
Magic
12
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
это группа токсиков или тех кто помогает?
Ибрагим
9
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
Карта сайта