рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдЯреА рдШрдЯрдХ

рдпрд╣ рдкреЛрд╕реНрдЯ " рд╕реНрдорд╛рд░реНрдЯ рдлреЛрди рдлреЙрд░ рд╕реНрдорд╛рд░реНрдЯ рдкреЛрд╕реНрдЯ " рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд░рд╣реА рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, QML рдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рд╛рдЗрдорд┐рдЯрд┐рд╡ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рддреБрдЪреНрдЫ рдмрдЯрди рднреА рдЙрдиреНрд╣реЗрдВ (рдЖрдпрдд, рдврд╛рд▓, рдкрд╛рда, рдорд╛рдЙрд╕ рдХреНрд╖реЗрддреНрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рд╕реЗ рдЦреАрдВрдЪрдирд╛ рд╣реЛрдЧрд╛ред UI рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Qt Components рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╡реЗ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди, рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб, рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдФрд░ рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдг рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рд▓реАрдЬ рдореЗрдВ, рдХреЗ рд▓рд┐рдП рдШрдЯрдХ
рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: рд╕рд┐рдореНрдмрд┐рдпрди рдФрд░ MeeGoред рд▓реЗрдХрд┐рди рдХреНрдпреВрдЯреА рд▓реИрдмреНрд╕ рдХреЗ рдкрд╛рд╕ рдбреЗрд╕реНрдХрдЯреЙрдк рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИ, рдЬреЛ (рдХреБрдЫ рд╕рдордп рдмрд╛рдж) Qt5 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдореБрдЦреНрдп рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, QML Qt5 рдореЗрдВ рдкрд╣рд▓реЗ рдирдВрдмрд░ рдкрд░ рдЖрддрд╛ рд╣реИ, рдФрд░ QtGui рджреВрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░ рдЖрддрд╛ рд╣реИ)ред рдЙрд╕реА рд╕рдордп, рдШрдЯрдХ рд╕реНрд╡рдпрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдореВрд▓ рд╕реНрд╡рд░реВрдк рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрддреЗ рд╣реИрдВред

рдбреЗрд╕реНрдХрдЯреЙрдк рдШрдЯрдХреЛрдВ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рд▓рд╛рднреЛрдВ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреНрд▓рд╛рд╕рд┐рдХ QtGui рдФрд░ рдШрдЯрдХреЛрдВ рдкрд░ рдПрдХ рдиреНрдпреВрдирддрдо рдЪрд┐рддреНрд░рдордп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ред рдирд╣реАрдВ, рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдирд╣реАрдВред рдХреИрд▓рдХреНрдпреВрд▓реЗрдЯрд░ред рдЧрдгрдирд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд┐рдирд╛, рдмрд╕ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред



рдмрд┐рд▓реНрд▓реА рдХреЗ рддрд╣рдд, 3 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рддрд╣рдд рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╖рдп рдкрд░ рдХреБрдЫ рдЪрд░реНрдЪрд╛рдПрдВ рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВред


рддреЛ, рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рд╕реНрдкреНрд▓реЗ рдФрд░ рджреЛ рдЯреИрдм рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реЗрдЯ (рдКрдкрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ) рдФрд░ рдПрдХ рдЙрдиреНрдирддред


рд╣рдо рдкрд╣рд▓реЗ рдХреЛрдб рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред

рдХреНрдпреВрдЯреА рдШрдЯрдХ рдХреИрд▓рдХреБрд▓реЗрдЯрд░


рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЬрд╛рдирдиреЗ рд╡рд╛рд▓реА рдкрд╣рд▓реА рдФрд░ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ QmlApplicationViewer рдпрд╛ QDeclarativeView рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред Qml рдлрд╝рд╛рдЗрд▓ QDeclarativeEngine рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рд╣реИ ред рдФрд░ рдЕрдм рдШрдЯрдХ рд╕реНрд╡рдпрдВ рдПрдХ QDeclarativeView рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЬреЛ рдХрд┐, рдЬрдм рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ)ред рдХрд╛рдо рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, QmlDesktopViewer рд╡рд░реНрдЧ рдШрдЯрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИ , рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд░реЛрдд рдХреЗ рдкреЗрдбрд╝ рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдФрд░ main.cpp рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
#include <QtGui/QApplication> #include "qmldesktopviewer.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); QmlDesktopViewer *viewer = new QmlDesktopViewer(); viewer->open("qrc:/main.qml"); QObject::connect(&app, SIGNAL(lastWindowClosed()), viewer, SLOT(quit())); return app.exec(); } 


рдЕрдм QML рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВред рдореБрдЦреНрдп .qml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ, рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдПрдЧреА
 import QtQuick 1.1 import QtDesktop 0.1 Window { function buttonPressed(name, offset) { var text = display.text var pos = display.cursorPosition display.text = text.substr(0,pos) + name + text.substr(pos) display.cursorPosition = pos+name.length-offset } title: "Calc on Components" width: 400 height: 600 maximumHeight: 900 minimumHeight: 250 maximumWidth: 1000 minimumWidth: 300 visible: true id: mainWindow TextField { id: display anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right anchors.margins: 4 height: 60; font.pixelSize: 40 } TabFrame { id: frame position: "North" anchors.top: display.bottom anchors.left: parent.left anchors.right: parent.right anchors.bottom: parent.bottom anchors.margins: 4 Tab { id: simpleTab title: "Simple" anchors.margins: 4 CalcButtonRow { anchors.left: parent.left anchors.right: parent.right height: parent.height/4 anchors.top: parent.top names: ["7","8","9","+"] onButtonPressed: mainWindow.buttonPressed(name, 0) } //  3  } //   } Component.onCompleted: display.focus = true } 

рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рдХреЛ рдереЛрдбрд╝рд╛ рдХрдо рдХрд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрд▓ 125 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред

рддреЛ, рдпрд╣рд╛рдБ рдореБрдЦреНрдп рддрддреНрд╡ рд╡рд┐рдВрдбреЛ рд╣реИ ред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ QDeclarativeView рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╢реАрд░реНрд╖рдХ, рдКрдВрдЪрд╛рдИ, рдЪреМрдбрд╝рд╛рдИ, рдЕрдзрд┐рдХрддрдо рдФрд░ рдиреНрдпреВрдирддрдо рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ, рджреГрд╢реНрдпрддрд╛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЦрд┐рдбрд╝рдХреА рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╕реЗрдЯред рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╣рдорд╛рд░реА рдбрд┐рд╕реНрдкреНрд▓реЗ рд╣реИ, рдЬрд┐рд╕реЗ TextField рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ рдХрд┐рд╕реА рдиреЗ рдореЛрдмрд╛рдЗрд▓ Qt Components рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рддрддреНрд╡ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рддрд░рд╣ рд╣реА рдПрдкреАрдЖрдИ рд╣реИред

рдЕрдЧрд▓рд╛ рддрддреНрд╡ рдПрдХ TabFrame рд╣реИ , рдЬреЛ рдЕрдВрддрддрдГ рдПрдХ рдХреНрдпреВрдЯрд╛рдмреАрдбрдЧреЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдЗрд╕ рддрддреНрд╡ рдореЗрдВ рджреЛ рдЯреИрдм рддрддреНрд╡ рдЬреЛрдбрд╝реЗрдВрдЧреЗ (рдореИрдВрдиреЗ рдПрдХ рдХреЛ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИ)ред рдЯреИрдм рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдЗрд╕ рдЯреИрдм рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреА (рдЕрд░реНрдерд╛рдд, рдпрд╣ рдЯреИрдм рд╡рд┐рдЬреЗрдЯ рдпрд╛ QtGui рдореЗрдВ рдЗрд╕рдХреЗ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рд╡рд┐рдЬреЗрдЯ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ)ред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ CalcButtonRow рд╣рдорд╛рд░рд╛ рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ 4 рдмрдЯрди рд╣реЛрддреЗ рд╣реИрдВ ( рдирд╛рдо рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде ) рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдореЗрдВ рдлреИрд▓рд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмрдЯрди рдЯреИрдм рдХреЗ рдкреВрд░реЗ рд╕реНрдерд╛рди рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрдВ (рдкреНрд░рджрд░реНрд╢рди QtGui рдореЗрдВ рдЯреИрдм рд╡рд┐рдЬреЗрдЯ рдкрд░ QGridLayout рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рдмрди рдЬрд╛рддрд╛ рд╣реИ)ред рд╕рдорд╛рдзрд╛рди рдорд╛рдереЗ рдкрд░ рд╣реИ рдФрд░ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЕрдзреАрди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд░реЗрдЧрд╛ред
 import QtQuick 1.0 import QtDesktop 0.1 Item { signal buttonPressed(string name) property variant names: ["","","",""] Button { anchors.left: parent.left anchors.top: parent.top anchors.bottom: parent.bottom width: parent.width/4 text: names[0] onClicked: buttonPressed(text) } // 3  } 

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

рдЪрд▓рд┐рдП рд╡рд╛рдкрд╕ main.qml рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ
 //    function buttonPressed(name, offset) { var text = display.text var pos = display.cursorPosition display.text = text.substr(0,pos) + name + text.substr(pos) display.cursorPosition = pos+name.length-offset } //     onButtonPressed: mainWindow.buttonPressed(name, 0) //      (sin(), cos()  ..) onButtonPressed: mainWindow.buttonPressed(name, 1) 

рдЬрдм рдПрдХ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рддреЛ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХрд░реНрд╕рд░ рд╕реНрдерд┐рддрд┐ рдкрд░ рд▓рд╛рдЗрди рдореЗрдВ рдмрдЯрди рдкрд╛рда рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ (рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕реЗ рдХрдо рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд░реНрд╕рд░ рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдВрджрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЙрдирдХреЗ рдмрд╛рдж рдирд╣реАрдВ)ред

рдпрд╣ ENTIRE рдХреЛрдб рд╣реИред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд▓рдЧрднрдЧ 160 qml рд▓рд╛рдЗрдиреЗрдВ рдирд┐рдХрд▓реАрдВред
QtGui рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╕рдорд╛рди рдХреЛрдб (рдПрдХ рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЗ рдмрд┐рдирд╛, рд▓реВрдк рдореЗрдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдкреАрдврд╝реА рдХреЗ рд╕рд╛рде, QSignalMapper рдФрд░ рдРрд╕реЗ рд░реВрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЗ) рдиреЗ c ++ рдХреЛрдб (main.cpp рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреА рд▓рдЧрднрдЧ 130 рд▓рд╛рдЗрдиреЗрдВ рд▓реАрдВред

рдпрд╛рдиреА рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рд▓рдЧрднрдЧ рдмрд░рд╛рдмрд░ рд╣реИред рдЖрдЗрдП рд╡рд┐рднрд┐рдиреНрди рдУрдПрд╕ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ

рд▓рд┐рдирдХреНрд╕ рдХреЗрдбреАрдИ 4


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

рд╡рд┐рдВрдбреЛрдЬ 7


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

рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ 10.6



рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ рдХреНрдпреВрдПрдордПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдЬрд▓рддреА рд╣реБрдИ рдлрд╝реЛрдХрд╕ рдлрд╝реНрд░реЗрдо, рдПрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЦрд┐рдбрд╝рдХреА рдкрд░ рдПрдХ рдЬрд▓рддреА рд╣реБрдИ рдЯреИрдм рдХреЛ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рдиред рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ QtGui рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рд╡рд┐рдВрдбреЛ рдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛ рдерд╛ред

QLineEdit рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдХрд┐ рд╡рд╣ рдиреНрдпреВрдирддрдо рдиреНрдпреВрдирддрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред QML рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

QtGui рдХреЗ рдмрдЬрд╛рдп QML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ


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

рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдпреВрдЖрдИ рдореЗрдВ рдХреНрдпрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдорди рдореЗрдВ рдЖрддреА рд╣реИ рд╡рд╣ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдкрд╛рда рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдкрд╛рда, рдЫреЛрдЯрд╛ рдлрд╝реЙрдиреНрдЯред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ TextField рдХреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкрд░ рдмрджрд▓реЗрдВ
  TextField { function adaptFontSize() { var width = display.width var length = display.text.length var newFontSize = 40 if (width/26 < length) { newFontSize = 1.5*(display.width/display.text.length) if (newFontSize < 20) newFontSize = 20 } display.font.pixelSize = newFontSize } id: display anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right anchors.margins: 4 height: 60; font.pixelSize: 40 onWidthChanged: adaptFontSize() onTextChanged: adaptFontSize() Behavior on font.pixelSize { NumberAnimation{easing: Easing.OutElastic; duration: 200}} } 

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ QML рдХрд╛ рдЬрд╛рджреВред рд╣рдордиреЗ рдПрдХ рдлрдВрдХреНрд╢рди, рджреЛ рдкреНрд░реЙрдкрд░реНрдЯреА рдЪреЗрдВрдЬ рд╣реИрдВрдбрд▓рд░ рдФрд░ рдПрдХ рдмрд┐рд╣реЗрд╡рд┐рдпрд░ рдПрд▓рд┐рдореЗрдВрдЯ рдЬреЛрдбрд╝рд╛ред рдФрд░ рдпрд╣ рдЕрдм, рд╣рдо рдлрд╝реЙрдиреНрдЯ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдиреАрдореЗрд╢рди рдХреЗ рд╕рд╛рде рднреАред QtGui рдХреЛрдб рдХрд┐рддрдирд╛ рд▓реЗрддрд╛ рд╣реИ (рдПрдиреАрдореЗрд╢рди рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓)? 15 рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХред рдПрдиреАрдореЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИред




рдЖрдк рдХрдИ рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ QML рдбреЗрд╕реНрдХрдЯреЙрдк UI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдЯреА рдЕрд╡рдпрд╡реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐


рдЕрдм рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрд▓реНрдлрд╛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╣реАрдВ рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡реНрдпрд╛рдкрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЬрд▓реНрджрдмрд╛рдЬреА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ QtGui рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреЛ QML рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рд╣рдореЗрд╢рд╛ QGraphicsObject рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдпрд╣ рд╡рд┐рдЧреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдХреБрдЫ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдХрд╛рдЯ рджреЗрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдзрд┐рдХ рдХреЛрдб рд▓реЗрддрд╛ рд╣реИред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдШрдЯрдХреЛрдВ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП 4 рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред рд╡реЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╛рдиреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЯреВрд▓рдмрд╛рд░ рдкрд░ рджрд╛рд╣рд┐рдирд╛ рдмрдЯрди рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рддрд╛ рд╣реИред


QtGui рдХреЗ рдмрдЬрд╛рдп рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖


рдкреЗрд╢реЗрд╡рд░реЛрдВ:

рд╡рд┐рдкрдХреНрд╖:

рд╕рдВрджрд░реНрдн


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


All Articles