Вопрос, если я определяю класс в mainwindow, но его же

хочу использовать и в другом классе, допустим это serialport, но получается он определяется как новый независимый от первого определения класс. Как мне в этом плане построить архитектуру, с С++ параллельно разбираюсь. И в голову приходит работать через extern, но есть ли более правильное решение?

10 ответов

21 просмотр

вытащить свою реализацию serialport в отдельный .h и .cpp и инклюдить где надо

Игорь- Автор вопроса
_KKK_
вытащить свою реализацию serialport в отдельный .h...

Просто этот класса из qt, получается мне надо создать новый класс, унаследовать класс qserialport, объявить в mainwindows и можно спокойно подлючать в другие классы?

Игорь
Просто этот класса из qt, получается мне надо созд...

да) расширяешь под нужды то что есть и пользуешь

Игорь
Просто этот класса из qt, получается мне надо созд...

смотря что ты хочешь... сделай какой-гит wokerClass для работы с портом, можешь внутри него создавать QSerialPort и работать с ним (агрегация) Можешь сам worker этот от QSerialPort унаследовать.. (наследование) там принимай-отправляй данные создай экземпляр этого класса в основном потоке, создай QThread и перетащи этот worker в этот thread общение между потоками - сигнал-слот есть иной подход, ну хот с одним разберись как-то

Советую ознакомиться с принципом interface segregation и dependency inversion. И не городить "архитектуру наследований"

_KKK_
да) расширяешь под нужды то что есть и пользуешь

так... нашел в закладках про один подход работы с Qthread с хабра там же упоминается наверное и второй, копай и кури :) https://habr.com/ru/post/150274/

Игорь- Автор вопроса
Angry Subst
смотря что ты хочешь... сделай какой-гит wokerClas...

Идею понял, буду пробовать. Я что-то подобное недавно сходу пытался сделать. Но у меня сегментация вылитала, поэтому все классы связынные с qt использую только в главном файле). Сейчас имею большее представление, буду пробовать, спасибо

Игорь- Автор вопроса
Игорь- Автор вопроса

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

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

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Доброе утро, мультиязычные сайты делал кто-нибудь? Какие подводные камни? Нужно чего нибудь допом ставить? Как поступить? В теории сделать две папки ru en и туда кидать страни...
Racoon Mitya
2
Карта сайта