рдХреНрдпреВрдЯреА рд╕реА ++ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддреНрдпрдВрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдврд╛рдВрдЪрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рд╣реИ: рдХреНрдпреВрдЯреА рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЫрд┐рдкреА рд╣реЛрддреА рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, Qt рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ "рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ" рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рдЗрд╕ рдЬрд╛рджреВ рдХреЛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЦрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдЬрд╛рджреВ рдлрд┐рд░ рднреА рдЯреВрдЯрддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рдФрд░ рд╣рд▓ рдХрд░рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдЬреЛ рдЕрдЪрд╛рдирдХ рдПрдХ рд╕реНрддрд░ рдкрд░ рд╕рдорддрд▓ рдЬрдЧрд╣ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдпрд╣ рд▓реЗрдЦ рдЗрд╕ рдмрд╛рдд рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╣реИ рдХрд┐ Qt "рд╣реБрдб рдХреЗ рддрд╣рдд" рдХреИрд╕реЗ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдореЙрдбрд▓ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рдХрдИ рдЕрдкреНрд░рднрд╛рд╡реА рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдореВрд▓ рдмрд╛рддреЗрдВрдзрд╛рдЧрд╛ рдЖрддреНрдореАрдпрддрд╛, рдЖрд░рдВрднреАрдХрд░рдг, рдФрд░ рдЙрдирдХреА рд╕реАрдорд╛рдПрдБрдореБрдЦреНрдп рд╕реВрддреНрд░, QCoreApplication рдФрд░ GUIрдзрд╛рдЧрд╛ рд╕реМрдВрдкрдирд╛рдирд┐рд╖реНрдХрд░реНрд╖рдореВрд▓ рдмрд╛рддреЗрдВ
рдЖрдЗрдП рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред Qt рдореЗрдВ, рд╕рд┐рдЧреНрдирд▓ рдФрд░ рд╕реНрд▓реЙрдЯреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХреЛрдИ рднреА рдСрдмреНрдЬреЗрдХреНрдЯ QObject рдХреНрд▓рд╛рд╕ рдХреЗ рд╡рдВрд╢рдЬ рд╣реИрдВред рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдпреЗ рд╡рд╕реНрддреБрдПрдВ рдЕрдЬреЗрдп рд╣реИрдВ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде "рдмрд╛рдд" рдХрд░рддреЗ рд╣реИрдВ - рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЦреБрдж рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, Qt рдореЗрдВ QObject
рдПрдХреНрдЯрд░реНрд╕ рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рднреА Qt рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ QObjects рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдЬрд┐рдХ "рд░рд╣рддрд╛ рд╣реИ"ред
QObjects рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ Qt рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд┐рдЧреНрдирд▓ рдЙрддреНрдкрдиреНрди рдФрд░ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЙрдкреА рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк QStringList рдФрд░ QStringListModel рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ QObject рд╣реИ рдФрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди UI рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдорд┐рдд рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░ рд╣реИред рдмрджрд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ "рдХреНрдпреВрдЯреА рдореЗрдЯрд╛-рдкреНрд░рдХрд╛рд░" рдФрд░ рдЕрдиреНрдп рд╕рднреА рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, QStringList рдПрдХ Qt рдореЗрдЯрд╛-рдкреНрд░рдХрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди std :: list <std :: string> (рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрд╢рд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛) рдирд╣реАрдВ рд╣реИред рдкреВрд░реНрд╡ рдХреЛ рдХрд┐рд╕реА рднреА Qt-shnom рд╕рдВрджрд░реНрдн (рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд, QVariant, рдЖрджрд┐ рдореЗрдВ рдЭреВрда рдмреЛрд▓рдирд╛) рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкрдВрдЬреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдХрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдзреНрд╡рдВрд╕рдХ, рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░рд╛ рдордирдорд╛рдирд╛ C ++ рдкреНрд░рдХрд╛рд░ рд╣реИред
рдирд┐рд░реНрдмрд╛рдз рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдереНрд░реЗрдб рдкрд░ рдЬрд╛рдПрдВ
рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╢рд░реНрдд "рдбреЗрдЯрд╛" рд╣реИ рдФрд░ рдПрдХ рд╕рд╢рд░реНрдд "рдХреЛрдб" рд╣реИ рдЬреЛ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рдХреМрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛? Qt рдореЙрдбрд▓ рдореЗрдВ, рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ QObject рдХреЛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдХреБрдЫ рдХреНрдпреВрдереНрд░реЗрдб рдзрд╛рдЧреЗ рд╕реЗ рдмрд╛рдВрдзрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реНрд▓реЙрдЯреНрд╕ рдФрд░ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЕрдиреНрдп рдШрдЯрдирд╛рдУрдВ рдХреА рд╕реЗрд╡рд╛ рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рд╣реИред рдПрдХ рдзрд╛рдЧрд╛ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ QObjects рдХреА рд╕реЗрд╡рд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рдкрд░ рднреА рдирд╣реАрдВ, рд▓реЗрдХрд┐рди QObject рдореЗрдВ рд╣рдореЗрд╢рд╛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХрд╛ рдзрд╛рдЧрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╣реЛрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреНрдпреВрдереНрд░реЗрдб QObject рдХреЗ рдХреБрдЫ рд╕реЗрдЯ рдХрд╛ "рдорд╛рд▓рд┐рдХ" рд╣реИред рдХреНрдпреВрдЯреА рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ, рдЗрд╕реЗ рдереНрд░реЗрдб рдПрдлрд┐рдирд┐рдЯреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ:

рдкреНрд░рддреНрдпреЗрдХ QThread рдХреЗ рдЕрдВрджрд░ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рдХрддрд╛рд░ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЗрд╕ qhread "рд╕реНрд╡рд╛рдорд┐рддреНрд╡" рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИрдВред Qt рдореЙрдбрд▓ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдПрдХ QObject рдХреБрдЫ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ QObject рдХреЛ рдПрдХ QEvent рд╕рдВрджреЗрд╢ "рднреЗрдЬреЗрдВрдЧреЗ":
QCoreApplication::postEvent(QObject *receiver, QEvent *event, int priority);
рдЗрд╕ рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЙрд▓ рдореЗрдВ, Qt рд╡рд╣ рдХреНрдпреВрдереНрд░реЗрдб рдкрд╛рддрд╛ рд╣реИ рдЬреЛ рд░рд┐рд╕реАрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рд╕рдВрджреЗрд╢ рдХрддрд╛рд░ рдХреЛ QEvent рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рдЬрд╛рдЧреГрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдХреЛрдб рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХрддрд╛рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рдХреЛ рдкрдврд╝реЗрдВрдЧреЗ рдФрд░ рдЗрд╕реА рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд░реЗрдВрдЧреЗред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреВрдереНрд░реЗрдб рдореЗрдВ рдХреЛрдб рдХреЛ QEventLoop рдИрд╡реЗрдВрдЯ рд▓реВрдк рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрдЪрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдпрд╛ рддреЛ рдирд┐рд╖реНрдкрд╛рджрди () рд╡рд┐рдзрд┐ рдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рдПрд╡реЗрдВрдЯреНрд╕ () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЕрдВрддрд╣реАрди рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд▓реВрдк рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ (QEventLoop рд╕реЗ рдкрд╣рд▓реЗ (рдЫреЛрдбрд╝реЗрдВ) рдИрд╡реЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ), рджреВрд╕рд░рд╛ рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдХрддрд╛рд░ рдореЗрдВ рдЬрдорд╛ рд╣реБрдП рд╣реИрдВред

рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдПрдХ рдзрд╛рдЧреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдЕрдиреНрдп рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ "рдЬрдореЗ рд╣реБрдП" рд╣реЛрдВрдЧреЗ - рдЙрдирдХреЗ рдИрд╡реЗрдВрдЯ рд╕реНрдЯреНрд░реАрдо рдХреА рдХрддрд╛рд░ рдореЗрдВ рдЬрдорд╛ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, Qt рд╕рд╣рдХрд╛рд░реА рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╣реАрдВ рднреА рдПрдХ рдирдпрд╛ QEventLoop рдмрдирд╛рдХрд░ рдФрд░ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдХреЗ "рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдмрд╛рдзрд┐рдд" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкрд╣рд▓реЗ рднреА QEventLoop рд╕реЗ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдПрдХ рджреВрд╕рд░реЗ рдореЗрдВ "рдиреЗрд╕реНрдЯреЗрдб" рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирддреА рд╣реИред
рдЗрд╡реЗрдВрдЯ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджрдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, QEventLoop рдПрдХ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрднрд░ рдЖрджрд┐рдо рдирд╛рдордХ рдЗрд╡реЗрдВрдЯ рдбрд┐рд╕реНрдкреИрдЪрд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдЖрд╡рд░рдг рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдФрд░ QAbstractEventDispatcher рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рдПрдХ рдереНрд░реЗрдб рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ QAbstractEventDispatcher рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, Qt5 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдпрд╣ рдЖрдкрдХреЛ рдЖрд╕рд╛рдиреА
рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдПрдХ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдПрдХ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдзрд╛рд░рд╛ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 1 рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдХрд░ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЬрд╣рд╛рдВ QEventLoop рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪрдХреНрд░ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд "рдШрдЯрдирд╛" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ? рд╕рднреА Qt рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз, "рд╕рд┐рдЧреНрдирд▓" рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрджрд╛рд╣рд░рдг рд╣реИ, QEvent :: MetaCallред рдРрд╕рд╛ рдХреНрдпреВрдИрд╡реЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди (рд╕реНрд▓реЙрдЯ) рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рддрд░реНрдХред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреНрдпреВрдЯреА рдореЗрдВ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рдЧрднрдЧ рд╕реМ (!) рдЕрдиреНрдп рдШрдЯрдирд╛рдПрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рджрд░реНрдЬрди рд╡рд┐рд╢реЗрд╖ рдХреНрдпреВрдЯреА рдШрдЯрдирд╛рдУрдВ (рдЪрд╛рдЗрд▓реНрдбрдПрдбреЗрдб, рдбреАрдлреНрд░реЗрдбрдбреЗрд▓реАрдЯ, рдкреЗрд░реЗрдВрдЯрдЪреЗрдВрдЬ) рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реИрдВ рдФрд░ рдмрд╛рдХреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред
рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдХреНрдпреЛрдВ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдХреНрдпреЛрдВ рдерд╛?рдкрд╛рдардХ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реИ: рдЗрддрдиреА рд╕рд╛рд░реА рдШрдЯрдирд╛рдПрдВ рдХреНрдпреЛрдВ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рд┐рдЧреНрдирд▓ рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдХреНрдпреЛрдВ рдерд╛? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдХреЗрддреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реИрдВ - рдпрджрд┐ рдХрддрд╛рд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдХрдЪреНрдЪрд╛ рд╕рдВрджреЗрд╢ рд╣реИ (рдЬреИрд╕реЗ рдХрд┐ QEvent :: Paint), рддреЛ рдмрд╛рдж рдХреЗ рд╕рдВрджреЗрд╢ рдмрд╕ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреНрдп рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдорд╛рдирдХ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╣рдЪрд╛рдиреЗ рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп QEvents рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рд░рд▓ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, QEvent рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рдХреЗ рдХрд╛рд░рдг рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рдорд╛рди рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рддреЗрдЬрд╝реА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рд╕реНрдкрд╖реНрдЯ рдЕрд╡рд╣реЗрд▓рдирд╛ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпреВрдЯреА рдореЗрдВ, рдПрдХ рдзрд╛рд░рд╛, рдЖрдо рддреМрд░ рдкрд░ рдмреЛрд▓рдирд╛, рдПрдХ рдбрд┐рд╕реНрдкреИрдЪрд░ рднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдХ рднреА EventLoop рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдПрдВ рдЙрдирдХреЗ рднреЗрдЬреЗ рдЧрдП рдИрд╡реЗрдВрдЯ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрдВрдЧреАред рдЪреВрдВрдХрд┐ рдХреНрд╡реЗрдереНрд░реЗрдб :: рд░рди () рдбрд┐рдлреЙрд▓реНрдЯ рдХреЙрд▓реНрд╕ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ :: рдПрдЧреНрдЬреАрдХреНрдпреВрдЯрд┐рд╡ (рдирд┐рд╖реНрдкрд╛рджрди) рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдорд╛рдирдХ рдИрд╡реЗрдВрдЯрд▓реЛрдк рд╕рд┐рд░реНрдл рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдХреНрд╕рд░ рд░рдирд╣рд╛рд░реНрдЯ рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ () рдХреНрд╡реЗрдереНрд░реЗрдб рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдЕрдХреНрд╕рд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпреВрдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдХрд╛рдлреА рдорд╛рдиреНрдп рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рднреА рдЗрд╕рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреНрдпреВрдЯреА рдореЗрдВ рдХреЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕рдХреА
рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреА рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░рд┐рд╡рд╛рдЬрд╝ рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреВрдереНрд░реЗрдб рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдХрд░ :: рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ () рдпрд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ ()ред рдпреЗ рджреЛрдиреЛрдВ рдХрд╛рд░реНрдп QEventLoop рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХреЛрдИ QEventLoop рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рдирд╣реАрдВ рд╣реИред рдирддреАрдЬрддрди, рдЕрдиреБрднрд╡рд╣реАрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдПрдХ рдЯреВрдЯреЗ рд╣реБрдП рд╡рд░реНрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ" рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд╡рд░реНрдХрд┐рдВрдЧ" рдХреНрдпреВрдереНрд░реЗрдб :: рд╕рдорд╛рдкреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд╕рдВрднрд╡ рд╣реИред рдзреНрдпрд╛рди рд░рдЦреЗрдВ - рдпрджрд┐ рдЖрдк рд░рди () рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдирдХ рдИрд╡реЗрдВрдЯ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рдереНрд░реЗрдб рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝реЗ рдЧрдП qhread :: requestInterruption () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ рдереНрд░реЗрдбреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреНрдпреВрдереНрд░реЗрдб рд╕реЗ рдЗрдирд╣реЗрд░рд┐рдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рддреЛ рдРрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЧрдП QtConcurrent рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рддрд░реНрдХ рдХреЛ QObject рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдорд╛рдирдХ рдХреНрдпреВрдереНрд░реЗрдб рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ред
рдзрд╛рдЧрд╛ рдЖрддреНрдореАрдпрддрд╛, рдЖрд░рдВрднреАрдХрд░рдг, рдФрд░ рдЙрдирдХреА рд╕реАрдорд╛рдПрдБ
рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИ, рдХреНрдпреВрдЯреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреБрдЫ рдзрд╛рд░рд╛ рдХреЗ рд▓рд┐рдП "рд╕рдВрдмрдВрдзрд┐рдд" рд╣реИред рдЙрд╕реА рд╕рдордп, рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рд╢реНрди рдЙрдарддрд╛ рд╣реИ: рдХрд┐рд╕рд╕реЗ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмрд┐рд▓реНрдХреБрд▓? рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдердиреЛрдВ рдХреЛ Qt рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
1. рдХрд┐рд╕реА рднреА "рдорд╛рддрд╛-рдкрд┐рддрд╛" рдХреЗ рд╕рднреА "рдмрдЪреНрдЪреЗ" рд╣рдореЗрд╢рд╛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рдорд╛рди рд╣реА рд░рд╣рддреЗ рд╣реИрдВрдпрд╣ рд╢рд╛рдпрдж рдХреНрдпреВрдЯреА рд╕реНрдЯреНрд░реАрдо рдореЙрдбрд▓ рдХреА рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реАрдорд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Qt рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдереНрд░реЗрдб рдореЗрдВ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╕реЗрдЯрдкреИрд░реЗрдВрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдмрд╕ рдЪреБрдкрдЪрд╛рдк рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдХрдВрд╕реЛрд▓ рдХреЛ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ)ред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ рд╕рдордЭреМрддрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдзрд╛рдЧреЗ рдореЗрдВ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдореГрддреНрдпреБ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ "рдмрдЪреНрдЪреЛрдВ" рдХреЗ рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд рдирд┐рд╖реНрдХрд╛рд╕рди рдПрдХ рдмрд╣реБрдд рд╣реА рдЧреИрд░-рддреБрдЪреНрдЫ рд╣реИ рдФрд░ рдХреАрдбрд╝реЗ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ рд░рд╣рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкрд░рд╕реНрдкрд░ рд╕рдВрдмрдВрдз рдХрд╛ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рд╡рд┐рд▓реЛрдкрди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
2. рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рдЬрд┐рд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдорд╛рддрд╛-рдкрд┐рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдЙрд╕ рдзрд╛рд░рд╛ рдореЗрдВ рд░рд╣рддреА рд╣реИ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рд╣реИрдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдФрд░ рдХреЗрд╡рд▓ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдирд┐рдпрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, QTread (рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ) рдЙрд╕ рдзрд╛рдЧреЗ рд╕реЗ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдирд┐рдпрдо 1 рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХрд┐рд╕реА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕реНрд╡рд╛рдореА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛)ред рдпрд╛, рдХрд╣реЗрдВ, рдпрджрд┐ рдЖрдк рдХреНрд╡реЗрдереНрд░реЗрдб :: рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдВрджрд░ рдХрд┐рд╕реА рднреА QObject рд╡рдВрд╢рдЬ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рд╢реЗрд╖ рдЙрдкрд╛рдп рдХрд┐рдП рдмрд┐рдирд╛ (рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ), рдмрдирд╛рдИ рдЧрдИ рд╡рд╕реНрддреБрдПрдБ рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрдВрдЧреАред
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдзрд╛рдЧрд╛ рдЖрддреНрдореАрдпрддрд╛ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред QObject :: MoveToThreadред рдирд┐рдпрдо 1 рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп "рдорд╛рддрд╛-рдкрд┐рддрд╛" (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдорд╛рддрд╛-рдкрд┐рддрд╛ == рдЕрд╢рдХреНрдд) рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХрд┐рд╕реА рднреА "рдмрдЪреНрдЪреЗ" рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЪреБрдкрдЪрд╛рдк рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрдм рдКрдкрд░реА-рд╕реНрддрд░реАрдп "рдореВрд▓" рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рд╕рднреА "рдмрдЪреНрдЪреЗ" рднреА рдПрдХ рдирдИ рдзрд╛рд░рд╛ рдореЗрдВ рдЪрд▓реЗ рдЬрд╛рдПрдВрдЧреЗред рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ, рдореВрд╡ рдЯреВрдЯреНрд░реЗрдб (рдирд▓реНрдЯреНрд░реНрд░) рдХреЙрд▓ рднреА рдХрд╛рдиреВрдиреА рд╣реИ рдФрд░ "рд╢реВрдиреНрдп" рдзрд╛рдЧрд╛ рдЖрддреНрдореАрдпрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ; рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк qhread :: currentThread () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ "рд╡рд░реНрддрдорд╛рди" рдзрд╛рдЧрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣ рдзрд╛рдЧрд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ - QObject рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ :: рдзрд╛рдЧрд╛ ()
рдЙрдкрд╕реНрдерд┐рддрд┐ рдкрд░ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ QEvents рдХреЗ рднрдВрдбрд╛рд░рдг рдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдЗрд╕реА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпреВрдЯреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпреВрдереНрд░реЗрдб рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдЖрдорддреМрд░ рдкрд░ рдРрд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдФрд░ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХрд┐рд╕реА std :: рдереНрд░реЗрдб рдореЗрдВ QObject рдмрдирд╛рддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕ рдереНрд░реЗрдб рд╕реЗ qhread :: currentThread () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ Qt рдХрд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ "рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ" рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЧреИрд░-рдорд╛рд▓рд┐рдХ рдЖрд╡рд░рдг рд╡рд╕реНрддреБ рдмрдирд╛ рджреЗрдЧрд╛ QAdoptedThreadред рдЗрд╕реА рд╕рдордп, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рд▓рдВрдмрд┐рдд рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдзрд╛рд░рд╛ рдореЗрдВ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрд╕ рдзрд╛рд░рд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
рдореБрдЦреНрдп рд╕реВрддреНрд░, QCoreApplication рдФрд░ GUI
рд╕рднреА рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ, рдХреНрдпреВрдЯреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ "рдореБрдЦреНрдп рдзрд╛рдЧрд╛" рдХреЛ рд╕рд┐рдВрдЧрд▓ рдХрд░ рджреЗрдЧрд╛, рдЬреЛ рдпреВрдЖрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдЬреАрдпреВрдЖрдИ рдереНрд░реЗрдб рдмрди рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ QApplication рдСрдмреНрдЬреЗрдХреНрдЯ (QCoreApplication / QGuiApplication) рд░рд╣рддрд╛ рд╣реИ рдЬреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдИрд╡реЗрдВрдЯ рд▓реВрдк рдУрд░рд┐рдПрдВрдЯреЗрдб рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рдЦрдВрдб рд╕реЗ рдирд┐рдпрдо рдирдВрдмрд░ 2 рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, "рдореБрдЦреНрдп" рдзрд╛рдЧрд╛ рд╡рд╣ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ QApplication рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдХрдИ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдореЛрдВ рдореЗрдВ "рдореБрдЦреНрдп рдзрд╛рдЧрд╛" рдХрд╛ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рд╣реИ, рдкреНрд░рд▓реЗрдЦрди рджреГрдврд╝рддрд╛ рд╕реЗ рдкреВрд░реЗ рдкреВрд░реЗ рдкрд╣рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде Qclication рдмрдирд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИред рдХреНрдпреВрдЯреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдФрд░ рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж (== рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╣рд▓реЗ рдзрд╛рдЧреЗ рдХреЗ рдЕрдВрджрд░) рдХрд░реЗрдВред рдХреНрд░рдорд╢рдГ рдЖрд╡реЗрджрди рдХреЗ рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдлреЙрд░реНрдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ QCoreApplication :: рдЙрджрд╛рд╣рд░рдг () -> рдзрд╛рдЧрд╛ ()ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, QApplication
рдХреЛ рдЧреИрд░-рдореБрдЦреНрдп () рд╕реНрдЯреНрд░реАрдо рдкрд░ рднреА рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ Qt рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рдЕрдВрджрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдирд┐рдпрдо рдХреЗ рдХрд╛рд░рдг "рдирд┐рд░реНрдорд┐рдд рд╡рд╕реНрддреБрдПрдВ рд╡рд░реНрддрдорд╛рди рдзрд╛рдЧреЗ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИрдВ", рдЖрдк рд╣рдореЗрд╢рд╛ рдПрдХ рдзрд╛рдЧреЗ рдХреА рд╕реАрдорд╛ рд╕реЗ рдкрд░реЗ рдЬрд╛рдХрд░ рд╢рд╛рдВрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рдмрдирд╛рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд┐рд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП "рдореБрдЦреНрдп" рдзрд╛рдЧреЗ рдкрд░ рдЬрд╛рдПрдВрдЧреЗ, рдЬрд╣рд╛рдВ рд╣рдореЗрд╢рд╛ рдПрдХ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рд╣реЛрдЧрд╛ рдФрд░ (рдЕрдиреНрдп рдереНрд░реЗрдбреНрд╕ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг) рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдХрднреА рдирд╣реАрдВ рд╣реЛрдВрдЧреАред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдмреНрдЬреЗрдХреНрдЯ рдореБрдЦреНрдп рдзрд╛рд░рд╛ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рдПрдВрдЧреЗ, рдХреБрдЫ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣реАрдВ рдФрд░ рд░рдЦреЗ рдЬрд╛рдПрдВрдЧреЗред рд╢рд╛рдпрдж рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬреЛ рдкреНрд░рддреАрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ "рдЬрд╛рджреВ" рдХреЛ рдЬрдиреНрдо рджреЗрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рд╕рд╣рдХрд╛рд░реА рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХреЛ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рднреАрддрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди, рдмреНрд▓реЙрдХрд┐рдВрдЧ, рдпрд╛ рд▓рд╛рдЗрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рдПрдХ рдзрд╛рдЧреЗ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред )ред
рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ "рдореБрдЦреНрдп" рдзрд╛рдЧрд╛ "рдкрд╣рд▓рд╛" рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдореБрдЦреНрдп QCoreApplication рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓реВрдк рд╢рд╛рдорд┐рд▓ рд╣реИ, Qt рдХреА рдПрдХ рдФрд░ рд╕реАрдорд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ GUI рд╕реЗ рдЬреБрдбрд╝реА рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ "рд▓рд╛рдЗрд╡" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдЧреЗрд╕реА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ: рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдХрдИ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдореЛрдВ рдореЗрдВ GUI рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рдСрдкрд░реЗрд╢рди рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдереНрд░реЗрдб рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, Qt рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ "рд╡рд┐рдЧреЗрдЯреНрд╕" рдФрд░ "рдиреЙрди-рд╡рд┐рдЬреЗрдЯреНрд╕" рдореЗрдВ рдЙрдкрд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдЬреЗрдЯ-рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдореЗрдВ рд░рд╣ рд╕рдХрддреА рд╣реИ, рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдВ рдРрд╕реА рд╡рд╕реНрддреБ рдХреЛ "рдЖрдЙрдЯрд╡реЗ" рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрдбрд╝рдХ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ QObject :: isWidgetType () рд╡рд┐рдзрд┐ рднреА рд╣реИ рдЬреЛ рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдореЗрдВ рдЧрд╣рд░реЗ рдЖрдВрддрд░рд┐рдХ рдЕрдВрддрд░ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдмрд╣реБрдд рдирдП QtQuick рдореЗрдВ, рдЬрд╣рд╛рдБ рдЙрдиреНрд╣реЛрдВрдиреЗ isWidgetType рдХреЗ рд╕рд╛рде рдмреИрд╕рд╛рдЦреА рд╕реЗ рджреВрд░ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣реА
рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИ? Qt5 рдореЗрдВ, QML рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЕрдм рд╡рд┐рдЬреЗрдЯ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рд╣реБрдИ - рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХрдард┐рдирд╛рдЗрдпреЛрдВред UI рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдЙрдирдХреЗ рд░рд╛рдЬреНрдп рдХрд╛ рдПрдХ "рд░реАрдбрд┐рдВрдЧ" рд╣реИ рдФрд░ рдпрд╣ рд╕реБрд╕рдВрдЧрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЙрд╕рдХреЗ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕реА рд╕рдордп рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдореА "рд░реЗрд╕" рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрдВ рдЦреБрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдУрдкрдирдЬреАрдПрд▓ рдЬрд┐рд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ "рдирдпрд╛" рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреНрдпреВрдЯреА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рдмрд╣реБрдд "рддреЗрдЬ" рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрдВрдЧ рдХрдорд╛рдВрдб рдХрд╛ рдЧрдарди рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдзрд╛рдЧреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - "рдЧреНрд░рд╛рдлрд┐рдХ рд╕рдВрджрд░реНрдн" рдЬреЛ рдХреЗрд╡рд▓ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рд╕реНрдХреНрд░реАрди рдкрд░ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЧреНрд░рд╛рдлрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рдЦреАрдВрдЪ рд╕рдХрддреЗ - рд╡реЗ рд╣рдореЗрд╢рд╛ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЦреАрдВрдЪреЗ рдЬрд╛рдПрдВрдЧреЗред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдЙрд╕реА рд╕рдорд╛рдзрд╛рди рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрддреЗ рд╣реИрдВ - UI рдХреЛ рдПрдХ рдереНрд░реЗрдб рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЪреМрдХрд╕ рдкрд╛рдардХ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рджреЗрдЧрд╛ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдХрд╛ рдореБрдЦреНрдп рдзрд╛рдЧрд╛ рд╣реЛрдирд╛ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ - рдФрд░ Qt5 рдореЗрдВ рд░реВрдкрд░реЗрдЦрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдзрд╛рдЧреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧреА
рдзрд╛рдЧрд╛ рд╕реМрдВрдкрдирд╛
рдирдП Qt5 рдореЙрдбрд▓ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдзрд╛рдЧреЗ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдзрд╛рдЧрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рддрд╛рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ "рдореБрдЦреНрдп" рдзрд╛рд░рд╛ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ "рдлреНрд░рдВрдЯ-рдПрдВрдб" рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЙрд╕рд╕реЗ рдЫрд┐рдкрд╛ рд╣реБрдЖ "рдмреИрдХ-рдПрдВрдб" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдмреИрдХ рдПрдВрдб рд░реЗрдВрдбрд░рд┐рдВрдЧ рдереНрд░реЗрдб рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдлреНрд░рдВрдЯ рдПрдВрдб, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рдЕрдиреНрдп рдереНрд░реЗрдб рдореЗрдВ рд░рд╣ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп (рдпрджрд┐ рдХреЛрдИ рд╣реЛ) рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдмреИрдХ-рдПрдВрдб рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рд░реЗрдВрдбрд░рд┐рдВрдЧ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдЬреАрдд-рдЬреАрдд рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ: рд╕рдордп-рд╕рдордп рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ "рдкреЛрд▓" рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреНрд░реАрди рдкрд░ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ "рд░реЛрдХрд╛" рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╡рд╕реНрддреБрдПрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп "рд╕реЛрдЪ" рд░рд╣реА рдереАрдВред рдзреАрдореА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рджреВрд╕рд░реЗ рдзрд╛рдЧреЗ рдореЗрдВ рд╣реЛрддреА рд╣реИред рдмрджрд▓реЗ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ "рдЬрд╡рд╛рдм" рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдкрд┐рдЫрд▓реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдЯреНрд░реАрдо рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ (рдПрдХ рдлреНрд░рдВрдЯ) рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдЯреНрд░реАрдо рдЬреЛ рдЗрд╕реЗ (рдкреАрдЫреЗ) рдкрдврд╝рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдиреНрд╣реЗрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпреВрдЯреА рдореЗрдВ рдпрд╣ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рддрд╛рд▓реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣ рдзрд╛рд░рд╛ рдЬрд╣рд╛рдВ рд╕рд╛рдордиреЗ рдХрд╛ рдЬреАрд╡рди рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдирд┐рд▓рдВрдмрд┐рдд рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ (QQuickItem :: updatePaintNode (), QQuickFramebufferObject :: Renderer :: рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ ()) рдЬрд┐рд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░реНрдп рд░рд╛рдЬреНрдп рдХреЛ рд╕рд╛рдордиреЗ рд╕реЗ рд╕рд╛рдордиреЗ рдХреА рдУрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╡рд╕реНрддреБ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рд╣реИред "ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЙрд▓
рд░реЗрдВрдбрд░рд┐рдВрдЧ рдереНрд░реЗрдб рдХреЗ рдЕрдВрджрд░ рд╣реЛрддрд╛
рд╣реИ , рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдереНрд░реЗрдб рдЬрд╣рд╛рдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрд╕ рд╕рдордп рд░рд╣рддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ "рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣" рд╣реБрдЖ, рд╕реНрдЯреНрд░реАрдо рдХреЗ рдЕрдВрджрд░ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╣реИред
рдХреНрдпрд╛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдХреНрдпрд╛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ? рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдирд╣реАрдВ, рдФрд░ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рдХреНрд╖рдг рдпрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рддрд╛рд▓рд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдереНрд░реЗрдб рдХреЛ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЕрдкрдиреЗ рдИрд╡реЗрдВрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗред "рд╣реИрдВрдЧ" рд╕реНрдЯреНрд░реАрдо рдЬрд╣рд╛рдВ рд╡рд╕реНрддреБ рд░рд╣рддреА рд╣реИ "рд╣реИрдВрдЧ" рдФрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ "desync" рддрдм рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдХреЛ рдлреНрд░реЗрдо рдПрди рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рдХреЗрд╡рд▓ рдлреНрд░реЗрдо рдПрди + 1 рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдФрд░ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдмрд╛рд░ рддрд╛рд▓рд╛ рд▓реЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдЬрдм рд╣рдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдВ рдХрд┐ рдпрд╣ рддрд╛рд▓рд╛ рд╕рдлрд▓ рд╣реЛрдЧрд╛ред
Qt рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдПрдХ рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╕рднреА "рдЧреНрд░рд╛рдлрд┐рдХ" рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд░рд╣реЗрдВрдЧреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЦрд┐рдбрд╝рдХреА рдЦреАрдВрдЪрдиреЗ рдФрд░ рдЙрд╕рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдкрд░ рддрд╛рд▓рд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рдзрд╛рд░рд╛ рдХреЛ рдЕрдХреЗрд▓реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ, рдпреВрдЖрдИ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдереНрд░реЗрдб рдмреИрдХ-рдПрдВрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдХ рдХреЛ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рд╕реНрд╡рдпрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдереНрд░реЗрдб рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ (QSGThreadedRenderLoop :: polishAndSync рдпрджрд┐ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ)ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдереНрд░реЗрдб рдлреНрд░рдВрдЯ-рдПрдВрдб рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП "рдкреНрд░рддреАрдХреНрд╖рд╛" рдХрднреА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдпрд╣ рдЕрдЪрд╛рдирдХ "рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ", рддреЛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдереНрд░реЗрдб рдмрд╕ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА "рдкреБрд░рд╛рдиреА" рд╕реНрдерд┐рддрд┐ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдкрддреНрд░ рдХреЗ рдХрд╛рдлреА рдордиреЛрд░рдВрдЬрдХ рдмрдЧреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИ "рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рддреБрд░рдВрдд рдЦрд┐рдбрд╝рдХреА рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдореБрдЦреНрдп рдзрд╛рдЧрд╛ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИ", рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рд╕рдордЭреМрддрд╛ рд╣реИред QtQuick 2.0 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ,
рдХрдИ "рдПрдирд┐рдореЗрдЯреЗрдб" рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд░реЗрдВрдбрд░ рдереНрд░реЗрдб рдореЗрдВ "рдкреЙрдкреБрд▓реЗрдЯреЗрдб" рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдореБрдЦреНрдп рдереНрд░реЗрдб "рд╕реЛрдЪрд╛" рд╣реЛрдиреЗ рдкрд░ рдПрдиреАрдореЗрд╢рди рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХреЗред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдпреВрдЖрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╡реИрд╕реЗ рднреА рдПрдХ рд╣реА рдзрд╛рдЧреЗ рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреБрд░рд╛рдиреЗ рд╡рд┐рдЧреЗрдЯреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдореБрдЦреНрдп" рдереНрд░реЗрдб рдореЗрдВ, рдирдИ рдХреНрдпреВрдЯреА рдХреНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпреВрдХреНрд╡рд┐рдХрд╡рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдереНрд░реЗрдб рдореЗрдВ рдЬреЛ рдЙрдирдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВред рдЕрдВрддрд┐рдо рдирд┐рдпрдо рдмрд╣реБрдд рд╕реБрдВрджрд░ рдврдВрдЧ рд╕реЗ рдкреАрдЯрд╛ рдЧрдпрд╛ рд╣реИ - рдПрдХ QQuickItem рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд QQuickWindow рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдЯреНрд░реАрдо рдпрд╛ рд╕реЗрдЯрдкреИрд░реЗрдВрдЯ рдХреЙрд▓ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
рдФрд░ рдЕрдм, рдЕрдлрд╕реЛрд╕, рдорд░рд╣рдо рдореЗрдВ рдПрдХ рдордХреНрдЦреА: рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ QQuickWindow рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╕рдЯреАрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ Qt рдореЗрдВ рдЖрдЬ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Qt 5.13 рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, QCoreApplication SendEvent рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ QQuickWindow рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд░рд┐рд╕реАрд╡рд░ рдФрд░ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рдкрдХреНрд╖ рдХреЛ рдПрдХ рд╣реА рдереНрд░реЗрдб рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдкреЛрд╕реНрдЯрдИрд╡реЗрдВрдЯ рдХреЗ рдмрдЬрд╛рдп рдЬреЛ рдереНрд░реЗрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, QQuickWindow рдХреЗрд╡рд▓ GUI рдереНрд░реЗрдб рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рднреА QtQuick рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд░рд╣рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд░реЗрдВрдбрд░рд┐рдВрдЧ рдереНрд░реЗрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд▓рдЧрднрдЧ рд╕рднреА GUI- рд╕рдВрдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрднреА рднреА рдЙрд╕реА GUI рдереНрд░реЗрдб рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдпрд╣ Qt 6 рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред
рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рднреА рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рдХреНрдпреВрдЯреА рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рдЬреЛ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ), рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рдЕрдЪреНрдЫреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдорд┐рдпрд╛рдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдереНрд░реЗрдб рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА рдЧреБрдИ рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕рд╣рд┐рдд рд╕рдВрдкреВрд░реНрдг UI, рдПрдХ рдереНрд░реЗрдб рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕рдорд╕реНрдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╕реНрдерд┐рддрд┐ рдкреБрд░рд╛рдиреЗ, Qt4- рд╢реИрд▓реА рд╡рд┐рдЬреЗрдЯ-рдЖрдзрд╛рд░рд┐рдд UI рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╣реИред
рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ QSG_RENDER_LOOP рдХреЛ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕ "рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб" рдореЛрдб рдореЗрдВ Qt рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдирд┐рд╖реНрдХрд░реНрд╖
рдХреНрдпреВрдЯреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдФрд░ рдЬрдЯрд┐рд▓ рдврд╛рдВрдЪрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЗрд╕ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ, рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рд╕рдХреНрд╖рдо рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЬрдм Qt рдореЗрдВ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рд╛рде рдХрдИ рдкреНрд░рдореБрдЦ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИредрдореБрдЭреЗ рдЖрдкрдХреЛ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реИ;- рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдзрд╛рдЧрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдорд╛рд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрддрд╛рд░рдмрджреНрдз рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ
- рдпрджрд┐ рдереНрд░реЗрдб "рдСрдмреНрдЬреЗрдХреНрдЯ" рдХрд╛ рдорд╛рд▓рд┐рдХ рдХреНрдпреВрдЯреА рдИрд╡реЗрдВрдЯ рд▓реВрдк рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ рдФрд░ рдереНрд░реЗрдб рд╕реНрд╡рдпрдВ рдЗрд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрдЧрд╛ ()
- рдорд╛рддрд╛-рдкрд┐рддрд╛ рдФрд░ рд╡рдВрд╢рдЬ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдзрд╛рд░рд╛ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдирд┐рдпрдо рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реЗрдЯрдкреЗрдВрдЯ рдпрд╛ рдореВрд╡рдСрдЯреНрд░реЗрдбреНрд░реЗрдб рдСрдкрд░реЗрд╢рди рдХреА рдореВрдХ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ
- рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдХрд╛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рдмрди рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдиреЗ рдмрдирд╛рдпрд╛ рдерд╛ред
- рд╕рднреА GUI рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдмреИрдХ-рдПрдВрдб рдХреЛ рдЫреЛрдбрд╝рдХрд░ GUI рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП
- GUI рдереНрд░реЗрдб рд╡рд╣ рд╣реИ рдЬрд┐рд╕рдореЗрдВ QApplication рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ Qt рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдореЙрдбрд▓ рд╕реЗ рдЬреБрдбрд╝реА рдЧрд▓рддрд┐рдпрд╛рдБ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред