Кто как изучал Qt?
От: Мёртвый Даун Россия  
Дата: 28.09.15 10:45
Оценка:
После MFC + WinAPI, Qt просто мозг ломает капитально! Как изучать?
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re: Кто как изучал Qt?
От: koenjihyakkei Россия  
Дата: 28.09.15 10:53
Оценка: +1
Здравствуйте, Мёртвый Даун, Вы писали:

МД>После MFC + WinAPI, Qt просто мозг ломает капитально! Как изучать?


Qt assistant + Google Driven Development(что непонятно смотришь в гугле, ответы есть на все вопросы). К тому же Qt на мой взгляд один из самых легких в освоении фреймворков.
Re: Кто как изучал Qt?
От: _hum_ Беларусь  
Дата: 28.09.15 10:53
Оценка:
Здравствуйте, Мёртвый Даун, Вы писали:

МД>После MFC + WinAPI, Qt просто мозг ломает капитально! Как изучать?

Я тоже, к сожалению, так и не нашел нормальной литературы на русском. Большинство книг (и даже онлайн-документация) носят "рецептурный" характер, мол, вот если сделает так, то получите вот это. При этом за деревьями практически не видно леса, и приходится постоянно обращаться за помощью к "бывалым".
Но в качестве отправной я бы выделил "Макс Шлее Qt4 Профессиональное программирование на С++".
Re[2]: Кто как изучал Qt?
От: Мёртвый Даун Россия  
Дата: 28.09.15 11:15
Оценка:
Здравствуйте, koenjihyakkei, Вы писали:

K>Здравствуйте, Мёртвый Даун, Вы писали:


МД>>После MFC + WinAPI, Qt просто мозг ломает капитально! Как изучать?


K>Qt assistant + Google Driven Development(что непонятно смотришь в гугле, ответы есть на все вопросы). К тому же Qt на мой взгляд один из самых легких в освоении фреймворков.


Да дело в том, что даже те же самые примеры они всё время какие то незаконченные. Или очень очень простые.

Казалось бы, ну простой бы тривиальный пример привести для Qt + QML: при нажатии кнопки открывается окно, или какое то более сложное действие. Но я везде вижу из разряда чтото типа:

onClick: root.index++

Всё!!! Как будто других действий на нажатие кнопки придумать нельзя! Обалдеть примеры!
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re: Кто как изучал Qt?
От: SaZ  
Дата: 28.09.15 11:28
Оценка:
Здравствуйте, Мёртвый Даун, Вы писали:

МД>После MFC + WinAPI, Qt просто мозг ломает капитально! Как изучать?


По примерам в интернете (то, что попроще), по статьям, по опен сорс проектам. Так, в общем-то большинство технологий осваиваются.
Главное — писать код. Придумайте себе задачу (табличку вывести со статистикой по компу, например), сделайте, выложите на код ревью.
QML я бы сразу не изучал, начал бы с основ QtCore + QtNetwork. Но если уж хочется — вот неплохой пример: http://www.ics.com/blog/multilayered-architecture-qt-quick
Re[3]: Кто как изучал Qt?
От: koenjihyakkei Россия  
Дата: 28.09.15 11:34
Оценка:
Здравствуйте, Мёртвый Даун, Вы писали:

МД>Да дело в том, что даже те же самые примеры они всё время какие то незаконченные. Или очень очень простые.


МД>Казалось бы, ну простой бы тривиальный пример привести для Qt + QML: при нажатии кнопки открывается окно, или какое то более сложное действие. Но я везде вижу из разряда чтото типа:


МД>onClick: root.index++


МД>Всё!!! Как будто других действий на нажатие кнопки придумать нельзя! Обалдеть примеры!


C QML никогда дел не имел, но вот, например, по твоему вопросу про диалог, обращаемся к гуглу "QML button click open dialog" и вроде как находится годный пример вот тут http://stackoverflow.com/questions/24977483/how-to-create-a-message-dialog-using-qml-control-elementssuch-as-combobox-text
Я так и осваивал Qt, тривиальные вопросы — Qt Assistant, нетривиальные — Гугл, благо по Qt тонны информации на том же SO.
Re[2]: Кто как изучал Qt?
От: Мёртвый Даун Россия  
Дата: 28.09.15 11:53
Оценка: +1
Здравствуйте, SaZ, Вы писали:

SaZ>QML я бы сразу не изучал, начал бы с основ QtCore + QtNetwork. Но если уж хочется — вот неплохой пример: http://www.ics.com/blog/multilayered-architecture-qt-quick


Ну, QML вообще какие то обкуренные люди придумали... Там мозг вообще отказывается воспринимать даже исходники. (Хотя, впрочем как и в самом Qt).

(Как же в MFC всё просто и логично!)
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re[4]: Кто как изучал Qt?
От: Мёртвый Даун Россия  
Дата: 28.09.15 12:05
Оценка: +1
Здравствуйте, koenjihyakkei, Вы писали:

K>C QML никогда дел не имел, но вот, например, по твоему вопросу про диалог, обращаемся к гуглу "QML button click open dialog" и вроде как находится годный пример вот тут http://stackoverflow.com/questions/24977483/how-to-create-a-message-dialog-using-qml-control-elementssuch-as-combobox-text


Ну как я и говорил выше: чтото можно хотя бы чуть более сложнее чем "onClick: console.log(item.text)"?????????????????????????? Другие действия бывают какие-то????????????????? Зачем такие примеры вообще пишут???????

Окэй, конкретно мой случай, QML:

1) есть окно с кнопкой (window1.qml)
2) есть второе окно (window2.qml)

как при нажатии кнопки в первом окне открыть второе окно??? Что еще может быть тривиальней?! Решаю эту задачу уже почти целый день! Ну как так? Что это за язык и библиотека чтобы для такого действия потратить день? С другими языками и библиотеками таких проблем почему та не было...
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Отредактировано 28.09.2015 12:09 Мёртвый Даун . Предыдущая версия .
Re[5]: Кто как изучал Qt?
От: koenjihyakkei Россия  
Дата: 28.09.15 12:19
Оценка:
Здравствуйте, Мёртвый Даун, Вы писали:

МД>Ну как я и говорил выше: чтото можно хотя бы чуть более сложнее чем "onClick: console.log(item.text)"?????????????????????????? Другие действия бывают какие-то????????????????? Зачем такие примеры вообще пишут???????


МД>Окэй, конкретно мой случай, QML:


МД>1) есть окно с кнопкой (window1.qml)

МД>2) есть второе окно (window2.qml)

МД>как при нажатии кнопки в первом окне открыть второе окно??? Что еще может быть тривиальней?! Решаю эту задачу уже почти целый день! Ну как так? Что это за язык и библиотека чтобы для такого действия потратить день? С другими языками и библиотеками таких проблем почему та не было...


А это разве не оно?
Button {
    text: "Test dialog"
    onClicked: {
        var component = Qt.createComponent("Popup.qml");
        if (component.status === Component.Ready) {
        var dialog = component.createObject(parent,{popupType: 1});
        dialogConnection.target = dialog
        dialog.show();
   }
}
Re[2]: Кто как изучал Qt?
От: LaptevVV Россия  
Дата: 28.09.15 12:48
Оценка:
__>Но в качестве отправной я бы выделил "Макс Шлее Qt4 Профессиональное программирование на С++".
Уже версия 5.3 описана в очередном издании.
Но все равно отстает...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Кто как изучал Qt?
От: _hum_ Беларусь  
Дата: 28.09.15 12:54
Оценка:
Здравствуйте, LaptevVV, Вы писали:

__>>Но в качестве отправной я бы выделил "Макс Шлее Qt4 Профессиональное программирование на С++".

LVV>Уже версия 5.3 описана в очередном издании.
LVV>Но все равно отстает...
судя по отзывам, принципиальных отличий изданий нет
Re[4]: Кто как изучал Qt?
От: LaptevVV Россия  
Дата: 28.09.15 13:00
Оценка:
LVV>>Уже версия 5.3 описана в очередном издании.
LVV>>Но все равно отстает...
__>судя по отзывам, принципиальных отличий изданий нет
QtCreator описан довольно подробно — чего в 4 версии не было.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Отредактировано 28.09.2015 15:42 LaptevVV . Предыдущая версия .
Re[2]: Кто как изучал Qt?
От: Мёртвый Даун Россия  
Дата: 28.09.15 13:07
Оценка:
Здравствуйте, _hum_, Вы писали:

__>Здравствуйте, Мёртвый Даун, Вы писали:


МД>>После MFC + WinAPI, Qt просто мозг ломает капитально! Как изучать?

__>Я тоже, к сожалению, так и не нашел нормальной литературы на русском.

Так ни на каком нету языке! В том то и дело!
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re[5]: Кто как изучал Qt?
От: _hum_ Беларусь  
Дата: 28.09.15 13:10
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>>>Уже версия 5.3 описана в очередном издании.

LVV>>>Но все равно отстает...
__>>судя по отзывам, принципиальных отличий изданий нет
LVV>ЙеСкуфещк описан довольно подробно — чего в 4 версии не было.

да уж, "новизна"
Re[3]: Кто как изучал Qt?
От: _hum_ Беларусь  
Дата: 28.09.15 13:23
Оценка:
Здравствуйте, Мёртвый Даун, Вы писали:

МД>Здравствуйте, _hum_, Вы писали:


__>>Здравствуйте, Мёртвый Даун, Вы писали:


МД>>>После MFC + WinAPI, Qt просто мозг ломает капитально! Как изучать?

__>>Я тоже, к сожалению, так и не нашел нормальной литературы на русском.

МД>Так ни на каком нету языке! В том то и дело!

Ну, я пока в англоязычном контенте глубоко не копался, потому говорить ничего не буду. Но наверное, да, и там будут разрозненные фрагменты, которые придется собирать по кусочкам в цельное представление.
Re[3]: Кто как изучал Qt?
От: SaZ  
Дата: 28.09.15 13:45
Оценка: +4
Здравствуйте, Мёртвый Даун, Вы писали:

МД>Ну, QML вообще какие то обкуренные люди придумали... Там мозг вообще отказывается воспринимать даже исходники. (Хотя, впрочем как и в самом Qt).


QML — это надстройка над JS. Заточенная по Qt. Что вы там видите укуренного я не понимаю (хотя и не курю). JS по вашему — сложный язык? Не нравится — не учите, вас же никто не заставляет их использовать .
Видимо, skype/google earth/itunes (win)/Kaspersky/Maya/VCL/VirtualBox и много других интересных проектов используют Qt потому, что они не оценили всю мощь, стабильность и красоту давно мёртвого mfc?

А какая у Qt документация — вообще сказка.


МД>(Как же в MFC всё просто и логично!)


Вы ещё скажите, что в turbo vision всё просто и логично. Я понимаю, что сложно учить что-то новое. Но в случае с Qt — это оправдано. Qt намного удобнее и проще в использовании, и написана значительно лучше, чем MFC.
Re[4]: Кто как изучал Qt?
От: _hum_ Беларусь  
Дата: 28.09.15 14:04
Оценка: -1
Здравствуйте, SaZ, Вы писали:


SaZ>А какая у Qt документация — вообще сказка.


О, да. "Сказка". Помни свой шок, когда прочел в справке

QWidget * QItemDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const

Reimplemented from QAbstractItemDelegate::createEditor().

Returns the widget used to edit the item specified by index for editing. The parent widget and style option are used to control how the editor widget appears.

То есть, вместо того, чтобы мне сказать, что из себя представляют аргументы функции (например, какой именно виджет будет считаться родительским), мне общими фразами говорят, для чего они используются. Это почти то же самое, как в описании к функции log(x,y) прочесть "x,y используются для вычисления значения логарифма".
Re[5]: Кто как изучал Qt?
От: SaZ  
Дата: 28.09.15 14:19
Оценка:
Здравствуйте, _hum_, Вы писали:


__>То есть, вместо того, чтобы мне сказать, что из себя представляют аргументы функции (например, какой именно виджет будет считаться родительским), мне общими фразами говорят, для чего они используются. Это почти то же самое, как в описании к функции log(x,y) прочесть "x,y используются для вычисления значения логарифма".


Попробуйте, для разнообразия, почитать документацию. Я понимаю, что это тяжело, не современно, что надо как в mfc- познавать всё методом научного тыка... В доке же можно прямо по типам параметров кликать, чтобы перейти на нужные страницы.
Что такое "делегат" в рамках QtMVC: http://doc.qt.io/qt-5/model-view-programming.html
QWidget, QStyleOptionViewItem, QModelIndex.

А ещё можно программировать "через точечку/стрелочку" и почитать, что же за такие структуры вам передают.
Re[6]: Кто как изучал Qt?
От: _hum_ Беларусь  
Дата: 28.09.15 14:40
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, _hum_, Вы писали:



__>>То есть, вместо того, чтобы мне сказать, что из себя представляют аргументы функции (например, какой именно виджет будет считаться родительским), мне общими фразами говорят, для чего они используются. Это почти то же самое, как в описании к функции log(x,y) прочесть "x,y используются для вычисления значения логарифма".


SaZ>Попробуйте, для разнообразия, почитать документацию. Я понимаю, что это тяжело, не современно, что надо как в mfc- познавать всё методом научного тыка... В доке же можно прямо по типам параметров кликать, чтобы перейти на нужные страницы.

SaZ>Что такое "делегат" в рамках QtMVC: http://doc.qt.io/qt-5/model-view-programming.html
SaZ>QWidget, QStyleOptionViewItem, QModelIndex.

SaZ>А ещё можно программировать "через точечку/стрелочку" и почитать, что же за такие структуры вам передают.


SaZ, вот вы опять выдумываете то, чего не было. Я не говорил, что Qt плох, я говорил, что документация к нему намного хуже MSDN-кой (той, что к MFC).
Еще раз, вот нужно мне узнать, что из себя в функции QItemDelegate::createEditor представляет параметр parent (например, меня интерeсует, является ли он указателем на QTableView или какие-то его подклассы и проч.). В нормальной доке либо напрямую написали бы, либо дали ссылки на эту инфу. В Qt-шной ничего подобного нет (приводить в данном случае ссылку на описание класса QWidget — это то же самое, что в документации к функции log(float x, float y) приводить ссылку на описание типа float)?
Re[4]: Кто как изучал Qt?
От: Мёртвый Даун Россия  
Дата: 28.09.15 14:57
Оценка: -1
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Мёртвый Даун, Вы писали:


МД>>Ну, QML вообще какие то обкуренные люди придумали... Там мозг вообще отказывается воспринимать даже исходники. (Хотя, впрочем как и в самом Qt).


SaZ>QML — это надстройка над JS. Заточенная по Qt. Что вы там видите укуренного я не понимаю (хотя и не курю). JS по вашему — сложный язык? Не нравится — не учите, вас же никто не заставляет их использовать .


JS — тоже со своими фишками, но по крайней мере логичный! В Qt — по моему всё алогично и непривычно!

Простой пример для наглядности:

Псевдо (ибо еще в QML синтаксисе еще слабоват):

Item {
id: root
signal clicked
onClicked: root.clicked()
Loader {
id: loader
source = "window.qml"
}
}

По сравнию с MFC тут куча нелогичностей!
1) В первых строках я читаю так: "Я нажал сам на себя и сам это обработал". Возможно фактически та это не так, но читается именно так! Это не по MFC-ишному. Непонятно где обработчик и где его надо писать. Вообще ничо непонятно, блин!
2) Я как раз и хочу залоадить ЭТОТ элемент "window.qml" и показать, а лоадер оказывается в нем самом. Как так? Непонимаю!
Т.е., что логичней?
Так:
MyLoader->load(Item) // в нормальных библиотеках делают всегда так
или так:
хмм... даже немогу записать... мозг на раскаряку от такой (НЕ)логики... "Я хочу загрузить то, что я загружаю... или загружается..."... Жесть!

SaZ>Видимо, skype/google earth/itunes (win)/Kaspersky/Maya/VCL/VirtualBox и много других интересных проектов используют Qt потому, что они не оценили всю мощь, стабильность и красоту давно мёртвого mfc?


SaZ>А какая у Qt документация — вообще сказка.


У Вас наверное какая то своя Qt, спец версия?! У Qt документации нет вообще, от слова совсем. Про примеры там даже и незнают.

МД>>(Как же в MFC всё просто и логично!)


SaZ>Вы ещё скажите, что в turbo vision всё просто и логично. Я понимаю, что сложно учить что-то новое. Но в случае с Qt — это оправдано. Qt намного удобнее и проще в использовании, и написана значительно лучше, чем MFC.


Хмм... я ж не голословно написал. Сравниваю реалии. Тривиальные вещи отнимают массу времени. MFC почему то столько не отнимал.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.