рдХреНрдпреЛрдВ рдореИрдВ рдХреНрдпреВрдЯреА рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЖрдк рд╕рднреА рдХреЛ рднреА рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП


рдПрдХ рдпрд╛ рдПрдХ рджрд┐рди рдХреЗ рдЙрдкрд╡рд╛рд╕ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдХрд░реНрдо рдХреЗ рд░рд┐рд╕рд╛рд╡ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд▓реЗрдЦ рдФрд░ рд╡рд┐рд╖рдп рдореЗрдВ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рд╕рдВрднрд╡рддрдГ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╢реИрд▓реА рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ

рд╣рд╛рдп, рд╣рдмреНрдмрд░!

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВ рдлреИрдХреНрдЯреНрд░реА рдореЗрдВ рдХреНрдпреВрдЯреА рдереАрдо рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗ рдкрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рд▓реЛрдЧ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдорд┐рд▓рддреЗ рд░рд╣реЗ рдЬреЛ рдЦреБрд▓рдХрд░ рдФрд░ рдЭреВрдареА рдмрд╛рддреЗрдВ рдХрд╣рддреА рд╣реИрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ Qt рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЫреЛрдЯреА-рдЫреЛрдЯреА рднреНрд░рд╛рдВрддрд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ Java / Obj-C / .NET рд╕реЗ рд╕реЙрдлреНрдЯ рдФрд░ рд╢рд░рд╛рдмреА Qt рдореЗрдВ рдХреНрдпреЛрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ред

рдХрдЯреМрддреА рдХреЗ рддрд╣рдд, рд╕рдмрд╕реЗ рд╢рд╛рдирджрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдХреАрдордд рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЗрдВрдкреНрд░реЗрд╢рди, рд╕рдмреНрдЬреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдФрд░ рдореЗрд░реА рд╡рд┐рдирдореНрд░ рд░рд╛рдп рд╣реЛрдЧреАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдореЗрд░рд╛ рд▓реЗрдЦ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рддрдХрдиреАрдХреА рдЙрдкрдпреЛрдЧреА рдЕрд░реНрде рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдордЬрд╝рд╛ рдЖрдПрдЧрд╛ рдФрд░ рдЖрдк рдЗрд╕рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВрдЧреЗред

рдЕрдЪреНрдЫрд╛, рдЪрд▓реЛ рдЪрд▓реЗрдВ?

рд╡реНрдпрд░реНрде рд╕рдВрдЦреНрдпрд╛ резред C ++ API


рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреВрдЯреА рдореЗрдВ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдПрдкреАрдЖрдИ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХреНрдпреВрдЯреАрдмреЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ ( рдХреНрдпреВрдЯреА рдПрдХ рдЬреАрдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ, рдПрд▓рдУрдПрд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ )ред рдореИрдВрдиреЗ рддреАрди рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд▓реЗрдЦ рдореЗрдВ рдПрд╕рдЯреАрдПрд▓ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд░реИрдкрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдмреЛрд▓ рджрд┐рдпрд╛ рдерд╛ - рдЯреАрдЯреАрдПрд╕рдХреЗ ред рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕, рдбрд┐рдмрдЧрд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдПрдВ, рдФрд░ рдХрдИ, рдХрдИ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

QString fruits = "apple, banana, orange, banana";
QStringList fruitsList = fruits.split(", ");
qDebug() << fruitsList; //    [ "apple", "banana", "orange", "banana" ]
fruitsList.removeDuplicates();
fruits = fruitsList.join(", ");
qDebug() << fruits; //    "apple, banana, orange"

, Qt XML, ( - MVC), OpenGL, /- (Phonon), , WebKit2. , тАФ 90% , *.

C++, , Qt - . , .

тДЦ2. Qt Quick


Qt Quick тАФ . QML (, , ), JavaScript, . , , , JavaScript. , ( Qt Project тАФ ).

image

import QtQuick 2.0

Rectangle {
    id: page
    width: 320; height: 480
    color: "lightgray"

    Text {
        id: helloText
        text: "Hello world!"
        y: 30
        anchors.horizontalCenter: page.horizontalCenter
        font.pointSize: 24; font.bold: true
    }

    Grid {
        id: colorPicker
        x: 4; anchors.bottom: page.bottom; anchors.bottomMargin: 4
        rows: 2; columns: 3; spacing: 3

        Cell { cellColor: "red"; onClicked: helloText.color = cellColor }
        Cell { cellColor: "green"; onClicked: helloText.color = cellColor }
        Cell { cellColor: "blue"; onClicked: helloText.color = cellColor }
        Cell { cellColor: "yellow"; onClicked: helloText.color = cellColor }
        Cell { cellColor: "steelblue"; onClicked: helloText.color = cellColor }
        Cell { cellColor: "black"; onClicked: helloText.color = cellColor }
    }
}

Cell
import QtQuick 2.0

Item {
    id: container
    property alias cellColor: rectangle.color
    signal clicked(color cellColor)

    width: 40; height: 25

    Rectangle {
        id: rectangle
        border.color: "white"
        anchors.fill: parent
    }

    MouseArea {
        anchors.fill: parent
        onClicked: container.clicked(container.cellColor)
    }
}



++ . , ? тАФ , . , QML ++. Qt Software тАФ , .

тДЦ3.


. , Qt тАФ 5 . Qt тАФ Qt Developer Days Qt Contributors' Summit. , , тАФ , . ┬л┬╗ Qt тАФ , 10 . , тАФ .



, . Qt Project , . , , , Qt.

тДЦ4. code review


, Digia (. +), KDAB, ICS -. Gitorious тАФ . , тАФ ( , тАФ ) тАФ , . ( Git / Review Board) .



, , qtbase, тАФ .

тДЦ5.


Qt , 90-. , Trolltech Nokia, Digia. , . (++ , QWidget), . , , тАФ Qt Creator, Qt !



^ Qt Creator, .

, , , , codebase тАФ ( ). .

, iOS, Android, Windows Phone, !


, Qt тАФ , .
!
, namespace.

Source: https://habr.com/ru/post/In221523/


All Articles