рд╣рд╛рдЗрдмреНрд░рд┐рдб Qt рдХреНрд╡рд┐рдХ рдФрд░ C ++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛

рд╢реБрдн рджреЛрдкрд╣рд░,% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо%!



рдереЛрдбрд╝рд╛ рдкреГрд╖реНрдарднреВрдорд┐:


рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдХ рджреЛрд╕реНрдд рдХреЛ рдПрдХ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдХрд╛ рд╡рд┐рд╖рдп рд╣реИрдорд┐рдВрдЧ рдХреЛрдб рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреНрдпреВрдЯреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдерд╛ред рдкреНрд░рд╕рд╡ рд╕рдлрд▓ рд░рд╣рд╛, рдХреБрдЫ рд╕рдордп рдмреАрдд рдЧрдпрд╛, рдФрд░ рдЕрдм рдЙрд╕рдХреЗ рдорд┐рддреНрд░ рдХреЛ рднреА рдЙрд╕реА рд╡рд┐рд╖рдп рдкрд░ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдореЗрдВ рдЙрддреНрддреАрд░реНрдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЖрдк рдПрдХ рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗред рдпрд╣ рд╕рд╡рд╛рд▓ рдкреВрдЫрддрд╛ рд╣реИ - рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд рддреАрди рдмрдЯрди рдФрд░ рджреЛ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП? рдпрд╣ Qt рдХреНрд╡рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ, рдФрд░ C ++ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдЬрд┐рдХ рдФрд░ рдЧрдгрдирд╛ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЖ, рдФрд░ рд╕рд╛рде рд╣реА рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдмрддрд╛рдПрдВ рдХрд┐ рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдРрд╕реА рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реВрдВред рдХреНрдпреВрдЯреА рдХреНрд╡рд┐рдХ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд╛рд╣рд┐рддреНрдп рдирд╣реАрдВ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░реВрд╕реА рдореЗрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреВрдВрдЧрд╛ - Qt рдХреНрд╡рд┐рдХ рдФрд░ C ++ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдореБрдЦреНрдп рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдХреНрдпреВрдЯреА рдФрд░ рдХреНрдпреВрдПрдордПрд▓ рдХреЗ рдлрдВрдбрд╛рдореЗрдВрдЯрд▓ рдкрд░, рд▓реЗрдХрд┐рди рд╣рдорд┐рдВрдЧ рдХреЛрдб рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред

рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рдмрдирд╛рдирд╛


рддреЛ, рдореЗрд░реЗ рдХрд╛рдо рдкрд░ рдХреНрдпреВрдЯреА Sdk рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдВрддрд┐рдо рд╕реЗрдХрдВрдб, рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
QtCreator рдЦреЛрд▓реЗрдВ, "GUI Qt рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред рдЗрд╕ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд╡рд┐рдВрдбреЛ рдореЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдПрдХ рдирд╛рдо рдЪреБрдиреЗрдВ, рдпрд╣рд╛рдБ:
рдЫрд╡рд┐
рдЪреЗрдХрдмреЙрдХреНрд╕ рдирд┐рдХрд╛рд▓реЗрдВ "рдПрдХ рдлрд╝реЙрд░реНрдо рдмрдирд╛рдПрдБред" рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдкреВрд░реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреЗрди рд╕реЗ рд▓рд┐рдЦреЗрдВрдЧреЗред
рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдореЗрдирд╡рд┐рдВрдбреЛ.рдПрдЪ рдлрд╛рдЗрд▓ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ:

#include #include <QtDeclarative / QDeclarativeContext>
#include <QtDeclarative / QDeclarativeView>

рдореЗрдирд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ:

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QDeclarativeView* dv = new QDeclarativeView();
dv->setSource(QUrl("qrc:/main.qml"));
QDeclarativeContext* cntx = dv->rootContext();
cntx->setContextProperty("window",this);

dv->setResizeMode(QDeclarativeView::SizeRootObjectToView);
setCentralWidget(dv);
}


рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рд╕рдордЭрд╛рдиреЗ рджреЗрдВ - рд╣рдо QDeclarativeView рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ - рдпрд╣ рдПрдХ рдРрд╕рд╛ рддрддреНрд╡ рд╣реИ рдЬреЛ QML рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рд░реВрдЯ QML рддрддреНрд╡ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ - main.qml, рдЬреЛ рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдмрд╛рдж рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рддрдм рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ "рд╡рд┐рдВрдбреЛ" рдЧреБрдг рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреЗрдЯ рд╕рдВрджрд░реНрдн рдорд┐рд▓рддрд╛ рд╣реИред рдЕрдм QML рд╕реЗ рд╡рд┐рдВрдбреЛ рдирд╛рдордХ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ - рдпрд╣ рд╣рдорд╛рд░рд╛ рдлреЙрд░реНрдо рд╣реИред рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдпрд╣ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдиреАрдЪреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЕрдм рд░реВрдЯ QML рддрддреНрд╡ рд╡рд┐рдВрдбреЛ рдХреЛ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рджреЗрдЧрд╛, рди рдХрд┐ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рд╕реЗрдЯрдкреЙрдЗрдВрдЯреНрд░рд▓рд╡рд┐рдЬреЗрдЯ рд╡рд┐рдзрд┐ QMainWindow рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЗрдВрджреНрд░реАрдп рд╡рд┐рдЬреЗрдЯ рд╕реЗрдЯ рдХрд░рддреА рд╣реИред рд╣рд░ рдХреЛрдИ рдЬреЛ Qt рдореЗрдВ рдЖрдпрд╛ рд╣реИ, рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдЗрд╕рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИред

рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ QML рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдереАред рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ:
рдЫрд╡рд┐
рдЕрдм рдЗрд╕реА рддрд░рд╣ рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ:
рдЫрд╡рд┐

рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦреБрд▓рддрд╛ рд╣реИ, рдиреАрдЪреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ "рдЬреЛрдбрд╝реЗрдВ" -> "рдкреВрд░реНрд╡рд╕рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ", "/ рдирдпрд╛ / рдЙрдкрд╕рд░реНрдЧ 1" рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ "/" рдорд┐рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВред рдЕрдм рд╡рд╣рд╛рдБ main.qml рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ ("рдЬреЛрдбрд╝реЗрдВ" -> "рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ")ред рдПрдХ рдФрд░ рдЫреЛрдЯреА рдмрд╛рдд - рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди * .pro рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдХреНрдпреВрдЯреА + = рдХреЛрд░ рдШреЛрд╖рдгрд╛рддреНрдордХ
рдЗрд╕ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ, рд╣рдо QtDeclarative4 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ

рдЕрдм рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ... рд╕рдлреЗрдж рд╡рд░реНрдЧ 62 рд╕реЗ 100 рд╣реИ :) рд▓реЗрдХрд┐рди рдЙрдкрд╕реНрдерд┐рддрд┐ рдзреЛрдЦрд╛ рджреЗ рд░рд╣реА рд╣реИ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕рдлреЗрдж рд╡рд░реНрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рдпрд╣ рдПрдХ рдРрд╕рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ QML рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ C ++ рдореЗрдВ рддрд░реНрдХред
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ Qt рдХреНрд╡рд┐рдХ рдФрд░ C ++ рдХрд╛ рд╣рд╛рдЗрдмреНрд░рд┐рдб рд╣реЛрдЧрд╛ред рдореБрдЦреНрдп рдмрд┐рдВрджреБ QDeclarativeView рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдореВрд▓ рд╕рдВрджрд░реНрдн рд╣реИ, C ++ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╕рдВрдкрддреНрддрд┐ QML рдФрд░ C ++ рдХреЗ рдмреАрдЪ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреБрд▓ рдмрди рдЬрд╛рдПрдЧрд╛ред

рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рддрд░реНрдХ рдмрдирд╛рдирд╛

рддреЛ, рдЖрдзрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдм рдХрд╛рдо рдХрд╛ рддрд░реНрдХред
Mainwindow.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд╡рд░реНрдЧ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
public slots:
QString slotEncode(QString sIn);
QString slotDecode(QString sIn);
bool slotCheck(int val);

рдирд╛рдо рд╕реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рджреЛ рд╕реНрд▓реЙрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред рджреЛрдиреЛрдВ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрдпреВрдПрдордПрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреНрд░рдорд╢рдГ, рдПрдиреНрдХреЛрдбреЗрдб рдпрд╛ рдбреАрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрд╕реНрдХрд░рдгред рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп рд╕реНрд▓реЙрдЯ рдХреНрдпреЛрдВ рд╣реИрдВ? рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд▓реЙрдЯ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде Q_INVOKABLE рдореИрдХреНрд░реЛ (рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рдВрд╕, рдЬреЛ рд╕реЗрдЯрдХреЗрдирдЯреЗрдХреНрдкреНрд░реЛрдкрд░реЗрдЯреНрдЯреА () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рд╡рд╕реНрддреБ рддрдХ рдкрд╣реБрдВрдЪрдХрд░ рдХреНрдпреВрдПрдордПрд▓ рд╕реЗ рдмреБрд▓рд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк QML :) рдореЗрдВ window.slotEncode () рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Q_PROPERTY рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдШреЛрд╖рд┐рдд рд╕рднреА рдЧреБрдг QML рдХреЛрдб рд╕реЗ рд╕реБрд▓рдн рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдирд╛рдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдЕрдм рдпрд╣ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ :)
рд╢рд╛рдпрдж рдореИрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдЬреЛ рд▓рдЧрднрдЧ 15 рдорд┐рдирдЯ рдореЗрдВ рджреБрдирд┐рдпрд╛ рдХреЗ рдПрдХ рд░рдЪрдирд╛рддреНрдордХ рджреГрд╢реНрдп рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реА рдкреНрд░реЗрдорд┐рдХрд╛, рдПрдХ рдХрд▓рд╛рдХрд╛рд░, рдЖрдорддреМрд░ рдкрд░ рдореБрдЭреЗ рдРрд╕реА рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИ):
import QtQuick 1.0

Rectangle {
width: 365
height: 200
gradient: Gradient {
GradientStop {
position: 0
color: "#696363"
}

GradientStop {
position: 1
color: "#000000"
}
}

Text {
id: text1
x: 37
y: 27
color: "#fbfbfb"
text: " "
style: Text.Raised
font.pixelSize: 12
}

Text {
id: text2
x: 198
y: 27
color: "#ffffff"
text: " "
style: Text.Raised
font.pixelSize: 12
}

// .
Rectangle {
color: "#4de013"
radius: 6
border.width: 5
border.color: "#f5f9f4"
x: 36
y: 66
width: 133
height: 20
TextInput {
id: text_input1
width: parent.width - 20
height: parent.height - 5
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
text: ""

font.pixelSize: 12
}
}

// .
Rectangle {
color: "#48c819"
radius: 6
border.width: 5
border.color: "#f5f9f4"
width: 133
height: 20
x: 201
y: 66
TextInput {
id: text_input2
width: parent.width - 20
height: parent.height - 5
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
text: ""
font.pixelSize: 12
}
}

// .
Rectangle {
id: bEncode
property alias text: label.text

width: 135
height: 60
radius: 20
border.width: 2
border.color: "#090606"

gradient: Gradient {
GradientStop {
id: gradientstop1
position: 0.01
color: "#ffffff"
}

GradientStop {
id: gradientstop2
position: 0.28
color: "#867d7d"
}

GradientStop {
id: gradientstop3
position: 1
color: "#000000"
}
}

signal clicked()
x: 36
y: 110

Text {
id: label
color: "#ffffff"
text: ""
font.strikeout: false
font.pointSize: 10
horizontalAlignment: Text.AlignHCenter
anchors.centerIn: parent
}

MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onClicked: {
text_input2.text = window.slotEncode(text_input1.text)
}
onEntered: {
bEncode.state = "green"
}
onExited: {
bEncode.state = "gray"
}
}
states: [
State {
name: "gray"
},
State {
name: "green"

PropertyChanges {
target: gradientstop1
color: "#ffffff"
}

PropertyChanges {
target: gradientstop2
color: "#34c22a"
}

PropertyChanges {
target: gradientstop3
color: "#000000"
}
}
]

}

// .
Rectangle {
id: bDecode
property alias text: label.text

width: 136
height: 60
radius: 20
border.width: 2
border.color: "#090606"

gradient: Gradient {
GradientStop {
id: gradientstop21
position: 0.01
color: "#ffffff"
}

GradientStop {
id: gradientstop22
position: 0.28
color: "#867d7d"
}

GradientStop {
id: gradientstop23
position: 1
color: "#000000"
}
}

signal clicked()
x: 200
y: 110

Text {
id: label2
text: ""
color: "#ffffff"
font.strikeout: false
font.pointSize: 10
horizontalAlignment: Text.AlignHCenter
anchors.centerIn: parent
}

MouseArea {
id: mouseArea2
anchors.fill: parent
hoverEnabled: true
onClicked: {
text_input1.text = window.slotDecode(text_input2.text)
}
onEntered: {
bDecode.state = "green"
}
onExited: {
bDecode.state = "gray"
}
}
states: [
State {
name: "gray"
},
State {
name: "green"

PropertyChanges {
target: gradientstop21
color: "#ffffff"
}

PropertyChanges {
target: gradientstop22
color: "#34c22a"
}

PropertyChanges {
target: gradientstop23
color: "#000000"
}
}
]

}
}



рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдЪрд▓реЛ рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдПрдЧреА!

рд╕реНрд░реЛрдд рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ - Tyk!

рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо:
рдЫрд╡рд┐

рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕рд╛рд░рд╛рдВрд╢


рд╣рдорд╛рд░реЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдерд╛ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдРрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЧреИрд░-рдорд╛рдирдХ QtQuick рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди C ++ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЗрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╢реНрди "рдХреНрдпреВрдЯреА рдХреНрд╡рд┐рдХ рдкрд░ рд╕рд╛рд╣рд┐рддреНрдп рджреЗрдВ" рдЕрдзрд┐рдХ рдЖрдо рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

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


All Articles