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

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

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

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

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

38 ответов

22 просмотра

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

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

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

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
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
Карта сайта