QT Creator - допълнителни модули
-
Здравейте,
Нов съм в Qt-то и тъкмо минах някои начални уроци, които успях да намеря. Искам да използвам SSH и попандах на това http://doc.qt.nokia.com/qtcreator-extending/utils-sshconnection.html и за целта свалих сорса на qt creator от http://qt.gitorious.org/qt-creator/ тъй като там е включен SshConnection класа. Използвам Убунту линукс. с Qt 4.7.4.
Въпросът ми е как тези допълнителни модули се включват в IDE-то. Това мисля, че се води към библиотеката Utils, а нея май успрях да я компилирам и в момента е в /lib/qtcreator/libUtils.so.1.0.0. Хедърите ръчно ги копирах в /usr/include/qt4/ като направих директория utils. Така ли се процедира при тези 3rd party класове, които не са включени по подразбиране в самия QT Creator? Има ли друг начин да използвам въпросния клас в моя проект?
Благодаря предварително! -
Здравей,
доколкото разбирам ти искаш да използваш SSH в твоя програма? Така ли? Защото това, което гледаш е плъгин за Qt Creator. Този клас имплементира някави интерфейси на Qt Creator, а не е създаден да работи с всяка програма. Можеш да го използваш като пример за това как се реализира SSH с Qt и да си направиш свой клас в твоята програма.
-
Да, искам да използвам SSH в моя програма, с която се уча на Qt. За целта искам да направя нещо просто като например да извеждам лог файл от друга машина в TextEdit прозорец. Мислех, че ще е по-лесно с този плъгин тъй като е направен с готови класове. Значи е по-добре да не ползвам него ами да си направя собствен клас със libssh2 примерно?
-
Ами този плъгин като за начало няма функция с която да зададеш адрес. Значи го прави някъде отвътре с някакви интерфейси на Qt Creator. Можеш да разгледаш кода и да видиш как става. Предполагам, че се използва "QTcpSocket":https://qt-project.org/doc/qt-4.8/QTcpSocket.html
Ако използваш libssh2, то вече няма да се научиш на Qt, защото тя ще поемецялата комуникация. И за теб остава да напишеш само няколко слот-а и един клас.
Има и вариант libssh2 да използва някакви асинхронни извиквания и с цел да не забиеш интерфейса да се наложи да използваш втора нишка или да се запознаеш от близо с ивент системата на Qt, a тя не е особенно проста.
-
Явно не съм избрал правилният път за обучение :) ще оставя за сега мрежовите неща. Да ми препоръчаш добри tutorials някъде освен тези, които са вградени в creator-а? Нещо за ивентите и за начина, по който са да си правя класове за QT, а и другото, което не разбирам, е как точно се ползват .pro файловете. Примерно докато не добавих network в моят файл:
@ QT += core gui network@не намираше <QHostAddress>
-
Към сайта има раздел Wiki, в което има доста примери и обучения. Голяма част от тях сме превели на български. За да търсиш по-лесно можеш да използваш системата от тагове. Най-честите тагове за неща на български са "bulgarian":https://qt-project.org/search/tag/bulgarian , "language:bg":https://qt-project.org/search/tag/language:bg , "български":https://qt-project.org/search/tag/български , "обучение":https://qt-project.org/search/tag/обучение и "как да":https://qt-project.org/search/tag/как~да
За ивентите виж "тази статия":https://qt-project.org/wiki/Threads_Events_QObjects . Заканил съм и се да я преведа и на български, но не знам кога ще имам време.
За .pro файловете има също доста материал в wiki-то и в документацията на qmake и Qt Creator. За това, което питаш - Qt e разделено на модули. С тази опция се показва кои модули приложението ти използва. Защото няма смисъл да се линква с цялото Qt. Така се спестяват ресурси и време за зареждане. "Списък с модулите":https://qt-project.org/doc/qt-4.8/modules.html
-
Ами повечето неща са как да направим нещо, а не цели програми. Все пак програмите като цяло не а сложни, а са състеване от много класове/функционалности. Всеки прави нещо и предоставя резултат и програмата предава тези резултати между отделните класове/функции. Аз използвам следния подход, за да уча Qt - решавма да направя някаква програма и като се сблъскам с проблем, започвам да търся как се прави и така, докато я напишеш все си научил още нещо ново.
-
[quote author="Firehand" date="1330693056"]Мерси! Аз не държа да са на български важното е да са изчерпателни, защото аз само някакви кратки намирам.[/quote]
Все пак големите програми са изградени от множество малки :) Аз лично харесвам кратките примери, защото обикновено показват просто решение на контретен проблем.
-
Да. И аз харесвам по-кратките примери, но намерих 2-3 само такива. Спомянм си някога за wxWidgets имаше много добър туториал където с малки примери се минаваше почти през всичко. Накрая се получаваше някакъв текстов редактор, но в този момент доста от нещата си ги научил.
-
Има една книга за Qt, в която така е обяснено и накрая става нещо като Ексел. не помня коя беше. Виж "тук":http://qt-project.org/books . Мисля, че беше C++ GUI Programming with Qt 4 (2nd Edition)
-
Здравей,
Пиша с малко закъснение и макар да не харесвам видео уроците, мисля, че "тези":http://www.voidrealms.com/tutorials.aspx?filter=qt ще ти харесат доста. Човека е направил над 100 урока. Като към всички има и код са сваляне.
-
Wow. Много ти благодаря, Йордане! Аз тъкмо си намерих "C++ GUI Programming with Qt 4 (2nd Edition)", която task_struct препоръча.
Успях да накарам libssh2 да ми върши работа. Неизбежно минах през блокването на цялото UI докато чакам сокета да върне нещо, но навлизам в нещата :D -
Няма защо. Но така или иначе книгата е много добра. Освен това и "Foundations of Qt Development":http://www.amazon.com/Foundations-Development-Experts-Voice-Source/dp/1590598318/ref=sr_1_1?ie=UTF8&qid=1331308261&sr=8-1 също е много добра.
-
Дам, на Брайън "уроците" са полезни за начинаещите в Qt, аз лично се забавлявах като го слушах и гледах ;-)
Само малка подробност - понякога забравя да си ъпдейтне сайта, последните няколко видеота ги няма там, но ги има в "Youtube":http://www.youtube.com/playlist?list=PL2D1942A4688E9D63&feature=plcp