Вопрос: Какой самый адекватный способ въехать в Qt? И чтобы

был баланс между скоростью и качеством.

Боль: Геморойно, конечно, без сноровки и навыка клепать интерфейсы.

Не могу добавить QWidget в QWidget, и из доки непонятно, почему. Хотя могу родительскому QWidget назначить layout, и layout уже имеет метод addWidget.

Могу создать лейаут через QVBoxLayout *vBox = new QVBoxLayout(this), а через QLayout не могу. И сиди раскуривай примеры, которые еще написаны по-разному.

38 ответов

18 просмотров

я въехал просто делая по доке

пример кода кидай, в чем трудность

AI-Sch. Автор вопроса
AI Sch.
Ты про examples в ide’шке?

Ну ты пишешь, что ты не можешь добавить какой-то виджет. Кидай конкретный пример кода, который ты ждешь, что будет работать, а не работает

AI-Sch. Автор вопроса
Skarn
ошибся, кидай*

А, понял. Ну тут код максимально тривиальный. Наверно скрином будет даже ценнее.

AI Sch.
screenshot А, понял. Ну тут код максимально тривиальный. Наве...

Когда создаешь лейаут, переданный аргумент на родителя, автоматически делает setLayout в родителя

Я въезжал по урокам Ravesli, дальше когда их все написал, что-то свое сам садился делать

AI Sch.
screenshot А, понял. Ну тут код максимально тривиальный. Наве...

Первый виджет без парента - потенциальный мемори лик

На начальном этапе баланс невозможен, либо медленно но качественно, либо быстро, но некачественно. Причем первый вариант таки со временем приведёт к желаемому балансу, а второй к увольнению

Sergey eSKon
На начальном этапе баланс невозможен, либо медленн...

Что такого надо не так понять в Qt, чтобы уволили?)

Angry Subst
НАСЛЕДОВАНИЕ и Сигнал-Слот :)

А что можно сделать не так с ними?

Skarn
А что можно сделать не так с ними?

не понять.. механизма сигнал-слот и не понять иерархию классов, на которой все сидит как на трех китах и если чего то нет, кьют дает возможность наривовать 4-го кита

Angry Subst
не понять.. механизма сигнал-слот и не понять иера...

Так если ты не понял, ты этим и не воспользуешься

Skarn
А что можно сделать не так с ними?

Тоже что и с любыми плюсовыми приложениями. Испоганить архитектуру, наплодить утечек, построить велосипед на костылях на который потом больно смотреть и еще больнее в нем ковыряться и допиливать фичи...

Skarn
На Qt потечь крайне сложно

элементарно... чес слово

Skarn
На Qt потечь крайне сложно

Та легко, опять таки в примере выше, не соблюдать parent-child. Да и банально создать указатель не удалив его потом.

Angry Subst
тогда зачем тебе кьют?

Я к тому что в Qt либо ты понял, либо не понял, как мне кажется. В крестах в целом можно понять не так, писать валидный код с т. з. стандарта, но вырвиглазный для других разработчиков

TheDoctor
Та легко, опять таки в примере выше, не соблюдать ...

Если ты создаешь указатель с парентингом, Qt чистит его за тебя. Меньше шанса сотворить лик

Angry Subst
object *a=func(); func() { object *o=new object...

Так тут нет парентинга. Это вообще какой-то странный враппер над new

Skarn
Если ты создаешь указатель с парентингом, Qt чисти...

Не обязательно все будет написано на pure Qt. Стоит не забывать что Qt это фреймворк. Да с весьма обширным функционалом, но так или иначе - фреймворк. У нас остается голый язык, плюсы, к которому можно добросить сторонних либ, а то и вовсе других фреймворков. Даже тут в чате не раз советовали использовать функции из буста, как пример.

Skarn
Что такого надо не так понять в Qt, чтобы уволили?...

в реальных проектах много чего встречается. Из последнего например отработка deepurl. По документации QDesktopServices::setUrlHandler должен всё отрабатывать, и на айос отрабатывает, а на андроиде нет. Решилось после двух дней глубокой отладки самого кьюта, выяснения, что в андроиде этот момент просто не реализован, поиск наиболее оптимального варианта самостоятельного решения, реализация. И такое вылазит постоянно

TheDoctor
Не обязательно все будет написано на pure Qt. Стои...

Да я бывает юзаю stl решения в перемешку с Qt. Но на самом деле я рассматриваю Qt как омни фреймворк, на котором можно спокойно писать, даже не зная дебрей стандартной либы.

Sergey eSKon
в реальных проектах много чего встречается. Из пос...

Блин, у меня сейчас так. На линуксе погано ведут себя вызовы к processEvents()

Sergey eSKon
в реальных проектах много чего встречается. Из пос...

дело ведь не только в кьюте. Любая задача решается сотней способов и начинающий если гонится за скоростью выбирает далеко не лучшие способы зачастую.

Skarn
На Qt потечь крайне сложно

В qt много подводных камней в виде багов, неочевидного поведения, часто приходится не один час в сурсах провести за разбором почему что-то не работает

Skarn
Это я знаю, баги сам неоднократно встречал.

и не только баги. Нюансы работы компонентов тоже требуют времени на изучение

AI-Sch. Автор вопроса
Sergey eSKon
и не только баги. Нюансы работы компонентов тоже т...

Так какой пайплайн изучения предлагаете?

AI Sch.
Так какой пайплайн изучения предлагаете?

для каждой сложной задачи искать разные варианты решения, не останавливаться на первом найденном, попытаться найти лучший, пытаться понять почему он лучше, чем другой, пытаться смотреть вглубь, изучать исходники самого кьюта для понимания как оно внутри работает. Это медленно, но это единственно правильный вариант

Sergey eSKon
для каждой сложной задачи искать разные варианты р...

а если он кажется неправильным, значит работа программиста не интересна и стоит подумать о смене профессии

Skarn
Так тут нет парентинга. Это вообще какой-то странн...

я просто показал, как можно словить утечку... есть парент или нет кьют вообще при закрытии программы все подчистит но типитная ситуевина для плюсов, объект создали в ф-ии, указатаель передали наружу, наруже словили, что-то поделали и забыли грохнуть

Angry Subst
я просто показал, как можно словить утечку... есть...

Это архитектуры всратые. И вообще есть std::unique_ptr

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

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

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
)) может, нужно поправить? )) 2. Ребята, нам нужно, чтобы сообщения из Инстаграм приходили в ОДУ. Какое приложение посоветуете?
Alexander Sharoiko MSE / Александр Шаройко
1
Всем привет! Взялся портировать модули на 18 версию, лезет _logger.log(log_level, 'no translation language detected, skipping translation %s', frame, stack_info=True) А чт...
Max Lit
3
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Карта сайта