Russian Qt Forum
Ноябрь 22, 2024, 19:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3 4   Вниз
  Печать  
Автор Тема: ListView GridView и подобные вью жрут память  (Прочитано 25065 раз)
BuRn
Гость
« Ответ #15 : Июль 25, 2016, 10:58 »

Вы не будете спорить, что для разработки программы на QML необходимо иметь задатки дизайнера? Веселый
Зачем ? Я вот вообще цвета не различаю, нормально на работе делаю интерфейсы на qml, конечно же по макетам
Записан
Bepec
Гость
« Ответ #16 : Июль 25, 2016, 11:40 »

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

PS  И если Qt идёт как библиотека С++ с простой логикой и низким порогом вхождения, то QML предназначен исключительно для разработки интерфейса Улыбающийся
Записан
Отражение луны
Гость
« Ответ #17 : Июль 26, 2016, 01:05 »

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

PS  И если Qt идёт как библиотека С++ с простой логикой и низким порогом вхождения, то QML предназначен исключительно для разработки интерфейса Улыбающийся
Это все древние бородатые времена. В наши дни qml/js уже давно позиционируется как центральная платформа  для написания приложений, а С++ идет чисто для его расширения (и да, пусть меня за это закидают помидорами, но это так).
И да, в qml вам никто не запрещает разделить логику и сам интерфейс. Собственно, я так и делал, там есть для этого невизуальные компоненты.
« Последнее редактирование: Июль 26, 2016, 01:07 от Komorebi » Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #18 : Июль 26, 2016, 01:23 »

В наши дни qml/js уже давно позиционируется как центральная платформа  для написания приложений, а С++ идет чисто для его расширения (и да, пусть меня за это закидают помидорами, но это так).

Спасибо, поржал Веселый
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Отражение луны
Гость
« Ответ #19 : Июль 26, 2016, 02:18 »

Спасибо, поржал Веселый
Не за что) Подумай потом на досуге, почему виджеты так безнадежно забросили)
Записан
vbv
Чайник
*
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #20 : Июль 26, 2016, 03:44 »

Спасибо, поржал Веселый
Не за что) Подумай потом на досуге, почему виджеты так безнадежно забросили)
Видимо потому, что [быдлокодеры|недокодеры|недо программисты] не осилили.
Web дизайнеров развелось куча а потом думаем, что ж так-то простенький интерфейс тормозит-то.
> Спасибо, поржал Веселый // поддерживаю
Записан
Bepec
Гость
« Ответ #21 : Июль 26, 2016, 03:51 »

Он и в другой теме веселит подобными репликами...
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #22 : Июль 26, 2016, 06:54 »

Это все древние бородатые времена. В наши дни qml/js уже давно позиционируется как центральная платформа  для написания приложений, а С++ идет чисто для его расширения
"Москва - нью Васюки"  Улыбающийся

Думается что ответа ТС не получит - вот на "устаревших" плюсах можно разобраться куда же делась память, а тут взяли цацку - попали в зависимость от нее.   
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #23 : Июль 26, 2016, 12:55 »

Подумай потом на досуге, почему виджеты так безнадежно забросили)

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

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #24 : Июль 26, 2016, 14:01 »

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

PS  И если Qt идёт как библиотека С++ с простой логикой и низким порогом вхождения, то QML предназначен исключительно для разработки интерфейса Улыбающийся
Это все древние бородатые времена. В наши дни qml/js уже давно позиционируется как центральная платформа  для написания приложений, а С++ идет чисто для его расширения (и да, пусть меня за это закидают помидорами, но это так).
И да, в qml вам никто не запрещает разделить логику и сам интерфейс. Собственно, я так и делал, там есть для этого невизуальные компоненты.


QML - это типа чтобы снизить порог вхождения и ускорить разработку. Если знаешь С++/QtWidgets, то смысла в QML я виже не много. Например, мне кажется, проще делать анимации интерфейса (если они нужны). QtQuick Controls 2.0 сделали реально быстрыми.

Сам пишу на виджетах и не вижу для себя смысла в QML вообще.

Записан
Bepec
Гость
« Ответ #25 : Июль 26, 2016, 14:13 »

Я хочу qml, но не могу Веселый Ибо если классы/структуры/потоки это мне понятно, но вот "берём прямоугольник, а мб квадрат и суём туда логику и получается кнопка" - этого я не могу усвоить Улыбающийся
Записан
BuRn
Гость
« Ответ #26 : Июль 26, 2016, 22:01 »

Я хочу qml, но не могу Веселый Ибо если классы/структуры/потоки это мне понятно, но вот "берём прямоугольник, а мб квадрат и суём туда логику и получается кнопка" - этого я не могу усвоить Улыбающийся
Ты просто не ковырялся с ним, я раньше тоже не понимал, стоит только начать и попробовать
Записан
Bepec
Гость
« Ответ #27 : Июль 26, 2016, 22:35 »

[offtop]Можешь скинуть что нить вроде для примера?
Потому что кнопки, комбобоксы, фигню всякую делать то я могу, а вот что посложнее с логикой и анимацией буксую Улыбающийся[/offtop]
Записан
Отражение луны
Гость
« Ответ #28 : Июль 28, 2016, 23:28 »

Видимо потому, что [быдлокодеры|недокодеры|недо программисты] не осилили.
Web дизайнеров развелось куча а потом думаем, что ж так-то простенький интерфейс тормозит-то.
> Спасибо, поржал Веселый // поддерживаю
Яваскрипт то? Не осилили, да, потому до сих пор сидят мучают свои cpp, в котором на каждый чих нужно написать тонну кода, а самые тривиальные действия обильно сопровождаются граблями и стульями)
Кстати да, еще ни разу не видел лагающего интерфейса на qml)
Думается что ответа ТС не получит - вот на "устаревших" плюсах можно разобраться куда же делась память, а тут взяли цацку - попали в зависимость от нее.   
Вариант выше полностью решает проблему) А проблема как раз в том, полагаю, что ListView написан на плюсах, потому что использование Column + Repeater + Flickable не дает никаких утечек)

Не знаю, почему лично ты их забросил, но есть предположение, что веб-говнокодеры просто не в состоянии понять, что такое класс и поинтер...
Что в этом вообще может быть сложного? Сложность С++ не в его концепции, а в вырвиглазном и устаревшем синтаксисе.
Прототипы вот - действительно не каждому дано, куда более абстрактная вещь, которая требует соответствующего уровня мышления для понимания как правильно их готовить чтобы получить на выходе архитектурно сильное решение.


QML - это типа чтобы снизить порог вхождения и ускорить разработку. Если знаешь С++/QtWidgets, то смысла в QML я виже не много. Например, мне кажется, проще делать анимации интерфейса (если они нужны). QtQuick Controls 2.0 сделали реально быстрыми.

Сам пишу на виджетах и не вижу для себя смысла в QML вообще.


Смысл qml не в QtQuick Controls 2.0, это лишь малая часть. Сама QQmlEngine вообще абстрагирована от интерфейса. Ну а смысл, естественно, в том, чтобы писать на явасрипте и иметь некоторые бонусы, связанные с типизацией, наследованием, биндингом/сигналами и прочими плюшками.

Я хочу qml, но не могу Веселый Ибо если классы/структуры/потоки это мне понятно, но вот "берём прямоугольник, а мб квадрат и суём туда логику и получается кнопка" - этого я не могу усвоить Улыбающийся
Создавая компонент ты по сути создаешь класс. Компоненты соблюдают наследование. Можно передавать ссылки, писать методы, вытаскивать сигналы и свойства. Описав объект ты создал объект данного класса. Что тут вообще может быть непонятно?
« Последнее редактирование: Июль 28, 2016, 23:48 от Komorebi » Записан
Bepec
Гость
« Ответ #29 : Июль 28, 2016, 23:54 »

Последняя моя попытка достучаться до сознания Komorebi:
В QML понятия класс/view/model/worker как таковые не существуют. Есть нечто среднее и оно ограничено тем функционалом, что решили разработчики. Всё. Дальше этой границы никто не уйдет. По сути это конструктор.

C++ и прочие полные языки разделяют эти понятия и дают возможность создать своё. Границы возможностей как таковой нет, она зависит исключительно от возможностей и знаний программиста. Всё что нельзя создать одним способом, можно создать десятком других и так далее.

QML ущербен как ЯП, т.к. он предназначен для быстрого прототипирования интерфейса и заточен исключительно на это. Многие вещи в нём реализовать невозможно, от слова вообще.
Собственно тролли это знают и именно поэтому в QML есть возможность проброса C++ классов и прочее.
Возможно в будущем, в версии 3/4/5/6/7 они дополнят язык. Но пока это язык для интерфейса Улыбающийся

PS если проще - QML с С++ - это превосходно. QML без С++ - это инвалид.
Записан
Страниц: 1 [2] 3 4   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.12 секунд. Запросов: 23.