Какво е QT: инсталация, характеристики на работата, ревюта на програмисти

Крос-платформената структура на QT (KP-структура) се използва като графичен инструментариум, както и полезна при създаването на CLI приложения. Работи върху три големи настолни компютъра, мобилни операционни системи (Symbian, Nokia Belle, Meego Harmattan, MeeGo) и вградени устройства, които могат да приемат удължаване на QT интервала.

История на развитието на програмата

Развитието на QT стартира през 1990 г. от норвежките програмисти Ayr Chambé-Eng и Haavard Nord. Тяхната компания Trolltech продаде QT лицензи и осигури техническа поддръжка. Днес фирмата се нарича Компанията QT и е дъщерно дружество на Digia Plc, базирана във Финландия. Въпреки че е основният двигател, сега той се разработва от по-голям съюз.


Състои се от много фирми и индивиди по света и работи с меритократичния модел на управление. Всеки, който иска, може да се присъедини към екипа. Има много начини да се направи личен принос към проекта QT. Какво означава това? Това е например писане на код или документация за рамката, докладване на грешки или подпомагане на други потребители във форума и поддържане на страницата в интернет. Въпреки че всяка програма за изграждане може да се използва с програмата, тя има свой собствен qmake. Това е платформа, базирана на платформата платформа за сглобяване, като GNU Make, Visual Studio и Xcode. CMake също е популярна алтернатива на разработването на проекти. Не много хора знаят, че подобен QT е достъпен с различни лицензи. Това е реклама исвободен софтуер в няколко версии на GPL и LGPL.


Поддръжката на QT 4 беше интегрирана преди много години, а QT 5 осигури подкрепа на ранен етап. Нов проект QT Suite Build aka Qbs току-що излезе. Това е QML-базирана система за изграждане, която също поддържа javascript и CMake опаковки.

Интегрирана среда за развитие

Структурата на КП идва със собствена интегрирана среда за разработка (IDE), наречена QT Creator, работеща на Linux, OS X и Windows. Той предлага интелигентно завършване на кода, подчертаване на синтаксиса, интегрирано бюро за помощ, дебъгер и интеграция на всички основни системи за контрол на версиите, като git, Bazaar. В допълнение към разработването на QT Creator в Windows, можете също да използвате добавката за Visual Studio и други IDE, като например KDevelop на KDE. Структурата на КП перфектно поддържа интернационализацията (i18n) и локализацията (l10n). Инструментът QT Linguist и неговите lupdate, lrelease и lconvert партньори правят лесно превеждането на приложенията на необходимите езици. Той поддържа повечето от записващите системи, които се използват днес. Графичният интерфейс е създаден директно на C ++. Обърнете внимание, че QT изпълнява това действие, използвайки модула Widgets. Той също така идва с интерактивен графичен инструмент QT Designer, който функционира като генератор на код за графични интерфейси, базирани на джунджурии. QT Designer може да се използва самостоятелно.

Разработване на графичен интерфейс

QTQuick предоставя необходимите модули за създаване на графичен интерфейс с QML. Можете да пишете цели програми само в QML, но като правило GUI е написан на QML, а backend програматареализиран на C ++. В допълнение, Creator има вграден графичен дизайнер QTQuick и скролер.
Структурата на CP е много повече от обикновен GUI инструментариум. Тя осигурява модули за развитие на различни платформи в областта на мрежи, бази данни, OpenGL, уеб технологии, сензори, комуникационни протоколи (Bluetooth, серийни портове, NFC), XML обработка, JSON, печат, генериране на PDF, QT интервали и много повече. Приложенията, които го използват, обикновено са написани на C ++, а QML свързването на други езици съществува и може да бъде предоставено от трети страни. Riverbank Computing, например, е търговски и свободен софтуер за свързване на Python (PyQT). Трябва да се подчертае, че такъв QT има много атрибути, които могат да се променят с помощта на getters и setters. Ако атрибутът се нарича foo, свързаният getter и setter ще има следния надпис: T foo () const void setFoo (const T). QT интервалът разширява системата от атрибути, getters и setters, които са свойства. Необходимо е да се обясни специфичната терминология. Свойството е стойността на всякакъв вид, до която може да се осъществи достъп, да се промени или постоянно и да се уведоми за промяната. Системата за собственост е полезна, особено в третата част (QML).

Йерархията на класове C

QT широко използва наследството, особено в модула Widgets. QObject е базовият клас. Той предоставя някои много мощни функции:
  • Можете да зададете името като низ, за ​​да търсите обекти.
  • Родителска система.
  • Сигнали и слотове.
  • Управление на събития.
  • Widgets могат да реагират на събития и да използват системата на родителски системи, сигнали ислотове. Те са наследени от QObject. Най-простата джаджа е QWidget. Той съдържа повечето от свойствата, използвани за описване на прозорци или приспособления като позиция и размер, курсор на мишката и подсказки.
    Устройството QT може да бъде и прозорец. Следователно няма нужда от класа QWindow. Почти всички графични елементи са наследени от QWidget:
  • QAbstractButton, базовият клас за всички типове бутони.
  • Скала за удължаване QT.
  • QPushButton.
  • QCheckBox.
  • QRadioButton.
  • QFrame, която показва рамката.
  • QLabel, който показва текст или изображения.
  • Това наследяване се извършва, за да се улесни управлението на свойствата. Някои от тях, като например размер и курсори, могат да бъдат приложени към други графични компоненти, докато QAbstractButton осигурява качеството, което се споделя от всички бутони.

    Система за родителски контрол

    Тази система за контрол е удобен начин за работа с обекти в QT, особено с джаджи. Всеки обект, който наследява QObject, може да има родителски и дъщерни елементи. Това дърво на йерархията улеснява работата:
  • Когато един обект е унищожен, всички негови родителски връзки също се почистват. По този начин изтриването на повикването става ненужно.
  • Допълнителните приспособления в QWidget се появяват автоматично в родителския.
  • Почти всички инструменти на потребителския интерфейс имат механизъм за откриване и реагиране на дадено действие.

    Сигнали и слотове

    QT предоставя две концепции на високо ниво: сигнали и слотове. Сигнал е съобщение за промяна на състоянието на обект. Има слотфункция, която се използва за приемане и реагиране на сигнал. Тези концепции са полезни за натискане на бутони, но те могат да направят много повече. Например, те се използват за предаване на информация. Да предположим, че по време на възпроизвеждане на песен ви е необходим индикатор, който да покаже колко време остава, преди звукът да приключи. Музикалният плейър може да бъде клас, използван за проверка на медийния напредък. Екземпляр от този клас може периодично да изпраща сигнал, указващ стойността на промяната. Хипотетичният клас, използван за тестване на напредъка, може да даде сигнал, който има подпис: void MediaProgressManager :: tick (int miliseconds). Ако разработчикът свърже сигнала към слот, който не използва същите параметри, потребителят ще получи предупреждение: QObject :: connect: Не свързващи аргументи на подател /получател. Това се дължи на факта, че сигналът предава информация към слота с помощта на определени параметри. Характеристики на концепциите:
  • Един сигнал може да бъде свързан към няколко слота.
  • Много сигнали могат да бъдат свързани към един слот.
  • Сигналът може да бъде свързан към друг сигнал - това се нарича реле.
  • Вторият сигнал се изпраща, ако пристигне първият.
  • Намиране на проблеми при компилирането

    Когато компилирате програма, особено в ситуации, в които се добавя Q_OBJECT, може да има грешка: main.cpp: undefined reference to vtable for window.
    Това се дължи на факта, че компилаторът не се стартира в метаобективния клас. В този случай qmake се рестартира чрез изпълнение на командатаBuild & gt; Изпълнете qmake Бутонът е стандартен компонент на графичния интерфейс на структурата на КП. Често се използва за създаване на уникален избор от списък, например в QT QRadioButton за създаване на ключове.
    Благодарение на наследството си, QRadioButton се държи точно като QPushButton. Всички имоти са еднакви. По подразбиране, QRadioButtons не са групирани, така че много от тях могат да бъдат проверени едновременно. За да имате "изключителното" поведение на много комутатори, трябва да активирате QButtonGroup. Това се прави по следния начин: разпределя нова група бутони и се прикрепя към родителския обект. Имайте предвид, че това може да е основният прозорец.

    Инсталиране на SDK за Symbian и Nokia

    За да започнете да използвате QT приложения, трябва да получите неговата библиотека и IDE. Можете да ги създадете от източника или да ги качите като SDK. Те включват много функции като cross-compilers за Symbian и Nokia. Използвайте тези пакети:
  • Документация QMake.
  • ​​
  • Документация QT.
  • QT 481.
  • Създател на QT.
  • Можете да изберете други пакети, ако имате нужда от разработка за Symbian /Maemo /Meego, както и тези, които имат по-стара версия на QT. В Linux е по-добре да се използват пакетите, предоставени от дистрибуцията. QT Creator трябва да бъде наличен в почти всички дистрибуции. При разопаковането инсталира всички зависимости, например библиотеки, компилатори и заглавия за разработка. Сега можете да създадете първия прозорец, като напишете обичайния "Hello world".
    Преди да създадете първото графично приложение, Open Creator IDE C ++, който е много подходящ за кодиране на QT приложения. Той давабраузър doc и "дизайнер", което опростява създаването на прозорци. Всички те са вградени в добре обмислен потребителски интерфейс. QT се използва, за да посочи кои библиотеки и модули са в проекта. Тъй като първото приложение обикновено е малък графичен потребителски интерфейс, потребителите ще се нуждаят от QTCore и QTGui. Сега добавете точка за влизане в приложението. Вземете C ++ файл или проект. Изходният файл на C ++ трябва да изпълни задачата. Следвайте съветника, като зададете файла на основното име. След това проектът е готов. В проектния файл има нова QT линия, която автоматично се добавя от Creator. QApplication е много важен клас. Той се грижи за входните аргументи и цикъла на събитията. Стартира, когато се изпълнява app.exec (). За да компилирате това приложение, кликнете върху зелената стрелка вляво долу. Създателят ще компилира и удължи QT ​​интервала. Цикълът на събитието ще се стартира и ще изчака действия като щракване с мишката в графичния интерфейс. След компилирането потребителят ще види първия QT прозорец. Как ще изглежда на екрана е показано на снимката по-долу.

    Системата за съставяне на Gmake

    Creator изпълнява задачи за системни повиквания, но е важно да се знае как са компилирани QT програми. Ако те са малки, лесно се прави ръчно чрез създаване на обектни файлове и след това свързването им. Но за големите проекти командният ред е труден за писане. В Linux всички програми се компилират с помощта на make-файл, който описва командния ред. Gmake е система за събиране, която идва с програмата QT. Той генерира make-файлове за разработчика. С помощта на прост синтаксис се създава файл.който се използва за съставяне на QT програмата. Но това не е единствената цел. QT използва метаобекти за разширяване на функционалността на C ++, qmake е отговорен за изготвянето на файл, който съдържа тази фаза на извличане. QT програмата е съставена в 3 стъпки:
  • .Pro файлът е написан, за да опише проекта за компилация.
  • Файлът make се създава с помощта на qmake.
  • Програмата е изградена с използване на NMake на прозорците.
  • Инсталиране на Windows Creator

    За да инсталирате програмата, отидете на официалния сайт Създател и изтеглете софтуера. Изберете препоръчания буутлоудъра:
  • QT Online Installer за Windows. Кликнете върху бутона "Изтегляне" в долната част на страницата, след което процесът започва.
  • Стартирайте инсталатора на .exe на QT Creator, като щракнете двукратно върху мишката, за да стартирате приложеното приложение, в което ще бъде инсталирано на компютъра.
  • За повечето екрани можете просто да кликнете върху „Напред“, за да преминете към следващата опция.
  • На екрана "Регистрация" можете да щракнете върху "Пропускане".
  • На екрана на компонентите на крадеца, някои версии с алфа, бета или преглед не са избрани, докато се инсталира MinGW.
  • Разширете триъгълника QT, след това QT 5112 и след това проверете MinGW 5 .xx 32 бита.
  • Ако това не стане, компютърът няма да може да компилира и изпълнява програми на C ++. За всички следващи екрани изпълнете QT Windows:
  • Щракнете върху Напред, Приемане или Инсталиране, за да завършите инсталацията.
  • След това натиснете "Finish", за да стартирате Creator.
  • Опитайте се да съставите /стартирате пробен проект.
  • Уверете се, че всички части работятда стартирате проект, който използва Станфорд C ++ библиотеки.
  • Изтеглете следния ZIP проект на вашия компютър: sample-project.zip. Трябва да има директория с име пример-проект и няколко папки вътре.
  • Отворете проекта. В Създател изберете Файл - & gt; "Отворете файла или проекта" или натиснете Ctrl + O (Command + O на Mac).
  • Отидете в примерната папка на проекта и отворете файла sample-project.pro. Създателят ще ви зададе няколко въпроса за това как да настроите процеса на изграждане на този проект.
  • Потребителят просто приема стойността по подразбиране и щраква върху "Конфигуриране на проект".
  • Съвети за манекени

    За да използвате приложението, се нуждаете от специална информация за нейните функции. Най-пълният пакет документи е наличен в мрежата на разработчиците. Той предоставя DocNotes, които могат да се добавят от потребителите. Ако QTSDK е инсталиран правилно, документацията, съответстваща на текущата версия на QT, също трябва да бъде инсталирана. Можете също да използвате QT Assistant, който е автономен браузър на doc. Важни раздели за документация:
  • QT Assistant.
  • QT Designer.
  • Лингвист на QT.
  • QMake.
  • Най-важният компонент е QT справочната документация. Той осигурява добро въвеждане на много компоненти. Този списък се показва на страницата "Всички класове". Друга интересна страница е тази, в която са изброени всички модули. Той предоставя информация за различни компоненти. Документацията в класната стая се организира, както следва:
  • Име и кратко описание на класа.
  • Наследяване.
  • Прехвърляне.
  • Свойства.
  • Обществени методи.
  • Отворете слотовете.
  • Сигнали.
  • Защитени методи.
  • Прегледи

    Годишно се увеличава броят на потребителите на QT. Програмистите в своите прегледи не просто пишат, че структурата е доста удобна, евтина, висококачествена, но и дава на начинаещия всичките му предимства. Ето някои от тях:
  • Интерфейсът е чист и разбираем. Той разполага с всички необходими инструменти за извеждане на конзоли, отстраняване на грешки, проследяване и също така има полезна функционалност за превключване между функции и техните дефиниции.
  • QT функционалността за създаване, отстраняване на грешки и проследяване е изключително полезна, особено когато става въпрос за търсене на грешки в кода на софтуерен продукт.
  • Можете лесно да отидете в секцията с кодовете, което причинява проблемът да видите локалните променливи и тяхното съдържание в реално време.
  • Дизайнерът /формулярите на потребителския интерфейс са огромна икономия на време при изграждането на сложни интерфейси. Ако не го използвате, са необходими ръчни ръчни записи.
  • В QT неговите библиотеки и компилатори са лесни за поддържане в настройките на профила за лесно превключване и последващо използване.
  • Както можем да видим, междуплатформена структура може да обхване всички целеви платформи с една технология и кодова база, което минимизира времето на навлизане на пазара и натоварването за поддръжка.

    Свързани публикации