заголовочных файлов?
Или это плохой тон?..
Можно, разбивай.
Подскажите, как сделать это правильно )
0) сделать 1) контролировать в процессе правильность
Как долго будут продолжаться эти безнадёжные попытки пошутить? )
деревенщина какая-то, прежде всего надо написать тесты
это извращение, а не плохой тон. А главное: в чём смысл?
Widget.cpp и widget.h разрослись и хотелось бы разбить их на смысловые блоки
Стоп, вы про свои что-ли файлы? Или про кьютовые заголовки? Если про свои то более идиотского вопроса не видел. Что хотите то и делайте со своими файлами. И зачем нам сообщать название вашего файла? Это что-то меняет? Я подумал что речь о кьютовом заголовке
Я бы показал cpp в котором 25к строк, но NDA)
Мне кажется срр на 25к строк это само по себе отличная обфускация.
Добавить еще на 10К дополнительные лишние функции, методы, переименовать основные в непонятные названия, и код обуфсцирован
Кьютовые эаголовки, где определён UI. В файле есть чёткое смысловое деление, поэтому хотел разбить его.
Кьютовые из состава кьют? Написанные разработчиками кьюта?
У меня лично отделен ui от самого виджета
Когда создаёшь проект Qt, создаются widget.cpp и widget.h, так? Я в них писал и они уже стали большие
Всё, что непосредственно в вашем проекте, можете менять как хотите.
Как я могу перенести часть объявления переменных в другой файл, условно в widget2.h, что для этого нужно сделать?
На этот вопрос нет простого ответа. Если там класс объявлен, можно разделить его функционал на несколько классов поменьше и разнести их по разным файлам.
Мне нужно пользоваться элементами UI. Или я как-то могу это сделать вне widget.cpp?
нет, не так. Опытный разработчик обычно переименовывает файлы на своё усмотрение. А так-же создаёт новые когда это требуется. Обычно каждый отдельный класс помещается в отдельный модуль
Это и есть отдельный класс Widget, но он огромный.. Есть ли возможность воспользоваться элементами UI за пределами widget?
Зачем он огромный? Что он такого рисует?
Много кнопок, каждая свой метод выполняет
это скорее всего означает, что вы всю бизнес логику написали в UI, что категорически неверно (хотя повторюсь - ваш код, что хотите то и делаете)
Не спорю, возможно, поэтому я хочу исправиться =)
а вообще "огромный" это очень относительно. У меня например в проекте модуль в котором вся работа с БД - 20К строк кода
Подозреваю, дело не в этом, а в непонимание архитектуры. Widget - одна кнопка. Window - штука с виджетами (удобно отдельно задизайнить внешний вид, а в коде оставить только бизнеслогику), Model - удобный механизм работы с данными списков, деревьев...
да он предложенное по умолчанию имя просто оставил
У меня скромные 3k, но я понимаю, что они могут быть разбиты )
20к строк, солидно. Он он же все равно существует ради одной конкретной цели а не содержит в себе вообще всю бизнеслогику?
вы неправильно вопрос ставите. Вам не разбивать нужно, а переносить бизнес-логику в другие классы. Если вы оставите структуру той же, но тупо разобъёте файл - это только хуже будет
ну там много классов, но все связаны с БД. Все модели, все вспомогательные классы. Меня устравивает. Есть ещё отдельные модули аппконтроллер - 7К строк, обмен с сервером - 5К ну и много других
Да, Вы правы (Прошу прошения, что не сразу ответил) Как мне лучше это сделать, если мне необходимо обращаться к графическому интерфейсу?
для этого и существует механизм сигналы/слоты. Бизнес-логика что-т делает и выдает сигналы, интерфейс на них реагирует. Также БЛ реагирует на сигналы из UI
Обсуждают сегодня