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

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

35 ответов

15 просмотров
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

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта