Добрый вечер, товарищи Подскажите, пожалуйста, можно ли разбить widget.h на несколько

заголовочных файлов?

35 ответов

4 просмотра
BV-Багров Автор вопроса

Или это плохой тон?..

Можно, разбивай.

BV-Багров Автор вопроса
Ilya Zviagin
Можно, разбивай.

Подскажите, как сделать это правильно )

BV Багров
Подскажите, как сделать это правильно )

0) сделать 1) контролировать в процессе правильность

BV-Багров Автор вопроса
Ilya Zviagin
0) сделать 1) контролировать в процессе правильнос...

Как долго будут продолжаться эти безнадёжные попытки пошутить? )

Ilya Zviagin
0) сделать 1) контролировать в процессе правильнос...

деревенщина какая-то, прежде всего надо написать тесты

BV Багров
Или это плохой тон?..

это извращение, а не плохой тон. А главное: в чём смысл?

BV-Багров Автор вопроса
Sergey eSKon
это извращение, а не плохой тон. А главное: в чём ...

Widget.cpp и widget.h разрослись и хотелось бы разбить их на смысловые блоки

BV Багров
Widget.cpp и widget.h разрослись и хотелось бы раз...

Стоп, вы про свои что-ли файлы? Или про кьютовые заголовки? Если про свои то более идиотского вопроса не видел. Что хотите то и делайте со своими файлами. И зачем нам сообщать название вашего файла? Это что-то меняет? Я подумал что речь о кьютовом заголовке

BV Багров
Widget.cpp и widget.h разрослись и хотелось бы раз...

Я бы показал cpp в котором 25к строк, но NDA)

Пашечка
Я бы показал cpp в котором 25к строк, но NDA)

Мне кажется срр на 25к строк это само по себе отличная обфускация.

Пашечка
Я бы показал cpp в котором 25к строк, но NDA)

Добавить еще на 10К дополнительные лишние функции, методы, переименовать основные в непонятные названия, и код обуфсцирован

BV-Багров Автор вопроса
Sergey eSKon
Стоп, вы про свои что-ли файлы? Или про кьютовые з...

Кьютовые эаголовки, где определён UI. В файле есть чёткое смысловое деление, поэтому хотел разбить его.

BV Багров
Кьютовые эаголовки, где определён UI. В файле ест...

Кьютовые из состава кьют? Написанные разработчиками кьюта?

BV Багров
Кьютовые эаголовки, где определён UI. В файле ест...

У меня лично отделен ui от самого виджета

BV-Багров Автор вопроса
Sergey eSKon
Кьютовые из состава кьют? Написанные разработчикам...

Когда создаёшь проект Qt, создаются widget.cpp и widget.h, так? Я в них писал и они уже стали большие

BV Багров
Когда создаёшь проект Qt, создаются widget.cpp и w...

Всё, что непосредственно в вашем проекте, можете менять как хотите.

BV-Багров Автор вопроса
Vladimir Shcherba
Всё, что непосредственно в вашем проекте, можете м...

Как я могу перенести часть объявления переменных в другой файл, условно в widget2.h, что для этого нужно сделать?

BV Багров
Как я могу перенести часть объявления переменных в...

На этот вопрос нет простого ответа. Если там класс объявлен, можно разделить его функционал на несколько классов поменьше и разнести их по разным файлам.

BV-Багров Автор вопроса
Vladimir Shcherba
На этот вопрос нет простого ответа. Если там класс...

Мне нужно пользоваться элементами UI. Или я как-то могу это сделать вне widget.cpp?

BV Багров
Когда создаёшь проект Qt, создаются widget.cpp и w...

нет, не так. Опытный разработчик обычно переименовывает файлы на своё усмотрение. А так-же создаёт новые когда это требуется. Обычно каждый отдельный класс помещается в отдельный модуль

BV-Багров Автор вопроса
Sergey eSKon
нет, не так. Опытный разработчик обычно переименов...

Это и есть отдельный класс Widget, но он огромный.. Есть ли возможность воспользоваться элементами UI за пределами widget?

BV Багров
Это и есть отдельный класс Widget, но он огромный....

Зачем он огромный? Что он такого рисует?

BV-Багров Автор вопроса
Mikhail Kalugin
Зачем он огромный? Что он такого рисует?

Много кнопок, каждая свой метод выполняет

BV Багров
Это и есть отдельный класс Widget, но он огромный....

это скорее всего означает, что вы всю бизнес логику написали в UI, что категорически неверно (хотя повторюсь - ваш код, что хотите то и делаете)

BV-Багров Автор вопроса
Sergey eSKon
это скорее всего означает, что вы всю бизнес логик...

Не спорю, возможно, поэтому я хочу исправиться =)

BV Багров
Это и есть отдельный класс Widget, но он огромный....

а вообще "огромный" это очень относительно. У меня например в проекте модуль в котором вся работа с БД - 20К строк кода

Sergey eSKon
это скорее всего означает, что вы всю бизнес логик...

Подозреваю, дело не в этом, а в непонимание архитектуры. Widget - одна кнопка. Window - штука с виджетами (удобно отдельно задизайнить внешний вид, а в коде оставить только бизнеслогику), Model - удобный механизм работы с данными списков, деревьев...

Mikhail Kalugin
Подозреваю, дело не в этом, а в непонимание архите...

да он предложенное по умолчанию имя просто оставил

BV-Багров Автор вопроса
Sergey eSKon
а вообще "огромный" это очень относительно. У меня...

У меня скромные 3k, но я понимаю, что они могут быть разбиты )

Sergey eSKon
а вообще "огромный" это очень относительно. У меня...

20к строк, солидно. Он он же все равно существует ради одной конкретной цели а не содержит в себе вообще всю бизнеслогику?

BV Багров
У меня скромные 3k, но я понимаю, что они могут бы...

вы неправильно вопрос ставите. Вам не разбивать нужно, а переносить бизнес-логику в другие классы. Если вы оставите структуру той же, но тупо разобъёте файл - это только хуже будет

Mikhail Kalugin
20к строк, солидно. Он он же все равно существует ...

ну там много классов, но все связаны с БД. Все модели, все вспомогательные классы. Меня устравивает. Есть ещё отдельные модули аппконтроллер - 7К строк, обмен с сервером - 5К ну и много других

BV-Багров Автор вопроса
Sergey eSKon
вы неправильно вопрос ставите. Вам не разбивать ну...

Да, Вы правы (Прошу прошения, что не сразу ответил) Как мне лучше это сделать, если мне необходимо обращаться к графическому интерфейсу?

BV Багров
Да, Вы правы (Прошу прошения, что не сразу ответи...

для этого и существует механизм сигналы/слоты. Бизнес-логика что-т делает и выдает сигналы, интерфейс на них реагирует. Также БЛ реагирует на сигналы из UI

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

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

Всем привет. Нужна платная консультация от тех, кто сталкивался с октябрём в кластере или шарит оч хорошо в цмс. Проблема следующая: после переноса в кластер октябрь начал ...
wl
8
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
а я честно сказать не понимаю - нахуя идти учиться на вышку или еще куда-либо и при этом нихуя не делать, типа зачем ? просто корку получить, а нахуй она нужна тогда ?
Eugene Неелов
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
А сколько часов мак держит зарядку в рабочем режиме? Например мой Redmi Mac (просто наклейка от айфона осталась, налепил) по началу держал часов 5 с парой открытых штормов и ...
Ross
8
зараз якщо створити файл core/custom/define.php з текстом <?php const NO_SESSION = true; можна позбутися сесійних кукі (що зручно, щоб не показувати людям банери про збір та в...
Artur Kyryliuk
1
я бы даже сказал не размер резюме, а слова, которые там написаны, потому что резюме может быть на несколько десятков страниц из-за 20 летнего опыта работы, но там в опыте буде...
Eugene Неелов
2
так а я не могу просто новый сделать ? я пробовал не прокатило но может чето упускаю
Максим
3
Ребят, было ли у вас так, что переменные в WebApp —tg-viewport-height, —tg-viewport-stable-height после метода expand не обновляются, а остаются в размерах, как было до expand...
Black
3
Карта сайта