
QtCreator рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕рд╢реАрд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдкрд░ рдиреЛрдЯреНрд╕ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдореЗрдВ, рдпрд╣ рдЖрд▓реЗрдЦ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреЛ рд╕реАрдзреЗ рдореЛрдб рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдкреИрдирд▓ рдореЗрдВ рдХреИрд╕реЗ рд░рдЦрд╛ рдЬрд╛рдПред 1920x1080 рдХреЗ рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде, рдЗрд╕рдореЗрдВ 373x70 рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдЕрдзрд┐рдХ рдЦрд╛рд▓реА рдЬрдЧрд╣ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдкреНрд▓рдЧ-рдЗрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, QtCreator рдХреЗ рд▓рд┐рдП 2 рдирдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВред рдкреНрд▓рдЧрдЗрди рд╡рд┐рд╡рд░рдг, рд╕реНрд░реЛрдд рдХреЛрдб рднрдВрдбрд╛рд░ рд▓рд┐рдВрдХ, рдФрд░ QtCreator рдХреЗ рд▓рд┐рдП рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ 3. Windows рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╡рд┐рд╡рд░рдг Api
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ рдкреНрд▓рдЧ-рдЗрди (
рдлрд╝рд╛рдЗрд▓-> рдирдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ ... рдбрд╛рдпрд▓реЙрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░
рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝-> рдХреНрдпреВрдЯреА рдХреНрд░рд┐рдПрдЯрд░ рдкреНрд▓рдЧрд┐рди ) рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╡рд╛рдж рдореЗрдВ, рдЖрдкрдХреЛ QtCreator рд╕реНрд░реЛрддреЛрдВ (рдЬреЛ рдЖрдкрдХреЛ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рд╣реИ) рдФрд░ рдирд┐рд░реНрдорд┐рдд QtCreator рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд▓рдЧрдЗрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╡рд┐рдЬреЗрдЯ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреА рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкреА рдХреЛ рдкреНрд▓рдЧрдЗрди рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рддрд░реАрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛рдПрдЧрд╛ (
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдирд╛рдорд╕реНрдерд╛рди (рдирд╛рдо рд╕реНрдерд╛рди)
рдЖрдВрддрд░рд┐рдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ)ред
рдЖрдк рдкреНрд▓рдЧрдЗрди рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди (
рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдлрдВрдХреНрд╢рди рдореЗрдВ) рдХреЗ рджреМрд░рд╛рди рдФрд░ рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдмрд╛рдж рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрдВрд╕реБрд▓реЗрдЯреЗрдб рдлрдВрдХреНрд╢рди рдореЗрдВ)ред
рдореЛрдб рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддреАрди рддрд░реАрдХреЗ рд╣реИрдВ: рд╡рд┐рдЬреЗрдЯ рдЬреЛрдбрд╝реЗрдВ (QWidget), рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝реЗрдВ (QAction), рдФрд░ рдореЛрдб (IMode рдбреЗрд░рд┐рд╡реЗрдЯрд┐рд╡) рдЬреЛрдбрд╝реЗрдВред рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдореЛрдб рдореИрдиреЗрдЬрд░ рдХреА рд╣реЗрдбрд░ рдлрд╛рдЗрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
#include <coreplugin/modemanager.h>
1. рд╡рд┐рдЧреЗрдЯреНрд╕ рдЬреЛрдбрд╝рдирд╛ (QWidget)
рд╡рд┐рдЬреЗрдЯ рдЬреЛрдбрд╝рдирд╛ рд╕реНрдЯреЗрдЯрд┐рдХ рдлрдВрдХреНрд╢рди
Core :: ModeManager :: addWidget (QWidget * рд╡рд┐рдЬреЗрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрд╕ рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдкреИрдирд▓ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд▓реЗрдмрд▓ (QLabel) рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд▓рдЧрдЗрди рдХреЗ
рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:
рдпрджрд┐ рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдкреВрд░реЗ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдореЗрдВ, рдкреИрдирд▓ рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ "рдлреИрд▓рд╛ рд╣реБрдЖ" рд╣реИред
рдЖрдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, QHBoxLayout рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди, рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдФрд░ рдХрдВрдЯреЗрдирд░ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рдлрд┐рд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╡рд┐рдЬреЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдХрд╛рд░ рдХреЛ "рдЯреНрд░рд┐рдо" рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:
containerLayout->setContentsMargins(0,0,0,0); containerLayout->setSpacing(0); container->setMaximumWidth(70);
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдореЗрдВ, рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рд╢реВрдиреНрдп рд╣реИ рдФрд░ рд╡рд┐рдЬреЗрдЯ рдЕрдзрд┐рдХрддрдо рдЙрдкрд▓рдмреНрдз рдЖрдХрд╛рд░ (70) рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдмрд╛рдИрдВ рдФрд░ рджрд╛рдИрдВ рдУрд░ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдЪреМрдбрд╝рд╛рдИ рднреА рдмрд╛рдИрдВ рдФрд░ рджрд╛рдИрдВ рдУрд░ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреА рдорд╛рддреНрд░рд╛ рд╕реЗ рдХрдо рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рд╕рднреА рдирд┐: рд╢реБрд▓реНрдХ рд╕реНрдерд╛рди рдКрдВрдЪрд╛рдИ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рд╡рд┐рдЬреЗрдЯ рдореЛрдб рдмрдЯрди рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд┐рдП рдЧрдП рд╕реНрдерд╛рди рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рдЪреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ (рдЬрдмрдХрд┐ рдЖрдЗрдХрди рдЫрд┐рдкрд╛рддреЗ рд╣реБрдП, рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ):

рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░: 1366x768 рдХреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдореЗрдВ "рдЯреНрд░рд┐рдорд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛" рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ 2 рдкреНрд▓рдЧ-рдЗрди рдлрд┐рдЯ)ред рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдВрдЯреЗрдирд░ рд╡рд┐рдЬреЗрдЯ рдХреА рдКрдВрдЪрд╛рдИ рдХреЗ рд▓рд┐рдП рдмрдбрд╝рд╛ рдиреНрдпреВрдирддрдо рдорд╛рди рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
container->setMinimumHeight(600);
2. рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝рдирд╛ (QAction)
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ:
Core::ModeManager::addAction(QAction *action, int priority)
рдЬрд╣рд╛рдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ (рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ) рд╣реИ, рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЙрд╕ рдХреНрд░рдо рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкреЛрд╕реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИред рдХрдо рдореВрд▓реНрдп, рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдмрдЯрди рджреВрд╕рд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ (рд░рди, рд╕реНрдЯрд╛рд░реНрдЯ рдбрд┐рдмрдЧрд┐рдВрдЧ, рдмрд┐рд▓реНрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ)
рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдПрдХ рдХреНрд░рд┐рдпрд╛ (QAction) рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдирд┐рд░реНрдорд╛рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, NSIS):
QAction *buildInstallerAction = new QAction(this); buildInstallerAction->setIcon(QIcon(QString::fromUtf8(":/icons/icons/nsis48x48.png"))); buildInstallerAction->setText(QString::fromUtf8("Build installer")); Core::ModeManager::addAction(buildInstallerAction, 0);
рдЯреВрд▓рдЯрд┐рдк рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ "рдмрд┐рд▓реНрдб рдЗрдВрд╕реНрдЯреЙрд▓рд░" рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ "0" рд╣реИ, рдПрдХреНрд╢рди рдХреЙрд▓ GUI рд╕рдмрд╕реЗ рдиреАрдЪреЗ рд╣реЛрдЧреА, рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
QIcon рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ 32x32 px рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдмрдбрд╝реЗ рд▓реЛрдЧ рдЕрднреА рднреА рдЗрд╕ рдЖрдХрд╛рд░ рдореЗрдВ рд╕рдВрдХреБрдЪрд┐рдд рд╣реЛрдВрдЧреЗред
рдиреЛрдЯ: рдпрджрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдЖрдкрдХреЛ QtCreator рдореЗрдВ рдПрдХ рдХреНрдпреВрдЯрд▓рдмрд╛рд░ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
QMainWindow *mainWindow = qobject_cast<QMainWindow *> (Core::ICore::mainWindow()); QToolBar *toolbar = new QToolBar(); toolbar->addAction(action); mainWindow->addToolBar(Qt::TopToolBarArea, toolbar);
рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрдпрди рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
Core::ModeManager::addProjectSelector(QAction *action);
рд▓реЗрдХрд┐рди рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджреНрджреЗрд╢реНрдп (рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЪрдпрди рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░) рдХреЗ рдХрд╛рд░рдг, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЭреЗ рдЖрд╢рд╛рдЬрдирдХ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред
3. рдПрдХ рдирдпрд╛ рдореЛрдб рдмрдирд╛рдирд╛
рд╡рд░реНрддрдорд╛рди рдореЗрдВ QtCreator (
"рд╡реЗрд▓рдХрдо" рд╕реЗ
"рд╣реЗрд▓реНрдк" рддрдХ ) рдореЗрдВ 7 рдореЛрдб рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдореЛрдб рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрд░ :: IMode рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрдЧ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
ExtensionSystem::IPlugin::addObject(myMode);
рдПрдХ рдирдпрд╛ рдореЛрдб (IMode) рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдЙрдЯрдкреБрдЯ рдкреИрдирд▓ (OutputPanel) рдореЗрдВ рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк QtCreator рдореЗрдВ рдПрдХреАрдХреГрдд UML рд╕рдВрдкрд╛рджрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рд╖рдп рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╕реАрдзреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдкрд░ рдЬрд╛рдПрдВрдЧреЗред
Habrahabr рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдБрдХрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рди рдкреНрд▓рдЧрдЗрди

рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдкрдиреЗ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рдм рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдмрд╛рдд рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдореБрджрд╛рдп рдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдорд╛рдирд╛ рд╣реИред рдпрд╣рд╛рдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВ: рдпрд╛ рддреЛ рд╡реЗ рдЗрд╕рдХрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВрдЧреЗ рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд░реЗрдЯрд┐рдВрдЧ рдмрдврд╝ рдЬрд╛рдПрдЧреА, рдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ - рдлрд┐рд░ рд░реЗрдЯрд┐рдВрдЧ рдЧрд┐рд░ рдЬрд╛рдПрдЧреАред рдПрдХ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рд▓реЗрдЦ рдХрд░реНрдо рдореЗрдВ рдЛрдг рджреЗрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рд▓реЗрдЦ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реЛ)ред рдмреЗрд╢рдХ, рдЖрдк рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрд░реЛрди рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрди рд╕рдВрдХреЗрддрдХреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛ рдФрд░, рдорд╛рдЗрдирд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдПрд╕рдПрдордПрд╕ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рд░ рдмрд╛рд░, рдЖрдИрдбреАрдИ рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдЬрд╛рдХрд░ рдХреЗрд╡рд▓ рдЖрдВрдХрдбрд╝реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░ рди рдХреЗрд╡рд▓ рд╕рдордп рдмрд┐рддрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдзреНрдпрд╛рди рднреА рджреЗрддрд╛ рд╣реИред рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдореИрдВ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реВрдВ: "рдпрджрд┐ рдЖрдк 5 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рд╕реА рднреА рдХреНрд░рдо рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдЕрдиреБрдХреНрд░рдо рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред" рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЫреЛрдЯреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛, рдЬреЛ рд╣рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рджреВрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдкреНрд▓рдЧрдЗрди (рдЬреЛ 1 рд╕реЗ 60 рдорд┐рдирдЯ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рднреА рд╕реЗрдЯ рд╣реИ) рд╕рд╛рдЗрдЯ рдХреЗ рдПрдкрд┐ (http://habrahabr.ru/api/profile/username/) рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ, рдбреАрдПрдордПрд▓ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд░реНрдо рдФрд░ рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддрд╛ рд╣реИред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ "рдкрд░реНрдпрд╛рд╡рд░рдг" рдЦрдВрдб рдХреЗ "рд╣рдмрд░рд╛рдмреНрд░" рдЯреИрдм рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдкреНрд▓рдЧрдЗрди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, рдпрд╣ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдореЗрдВ рд╕рд╛рдЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рд╕реЗ рдкреАрдЫреЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрджрд░реНрдн:
рдСрдбрд┐рдпреЛ рдкреНрд▓реЗрдпрд░ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓рдЧрд┐рди
рдпрд╣ рдкреНрд▓рдЧрдЗрди рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдЫреЛрдбрд╝реЗ рдмрд┐рдирд╛ рдСрдбрд┐рдпреЛ рдкреНрд▓реЗрдмреИрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣
рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рдХрд╛
рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА рдпрд╣ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдСрдбрд┐рдпреЛ рдкреНрд▓реЗрдпрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ)ред QtCreator рдореЗрдВ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рддреАрди рдмрдЯрди рд╡рд╛рд▓рд╛ рдПрдХ рдкреИрдирд▓ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ: рдкрд┐рдЫрд▓реЗ рдЯреНрд░реИрдХ рдкрд░ рдЬрд╛рдПрдВ, рдард╣рд░рд╛рд╡ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рдФрд░ рдСрдбрд┐рдпреЛ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЕрдЧрд▓реЗ рдЯреНрд░реИрдХ рдкрд░ рдЬрд╛рдПрдВред
рдкреНрд▓рдЧрдЗрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдПрдЖрдИрдПрдордкреА, рдЖрдИрдЯреНрдпреВрдиреНрд╕ рдФрд░ рдСрдбрд┐рдПрдВрд╕ рдСрдбрд┐рдпреЛ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рдВрджрд░реНрдн:
рджреЛрдиреЛрдВ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдБ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд┐рдд рд╣реИрдВ:
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП, рдЖрдорддреМрд░ рдкрд░ C: \ Qt \ Tools \ QtCreator \ lib \ qtcreator \ pluginsред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ Qt рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп
рд▓реВрдирдХреНрд╕-рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо /home/username/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins ред рдпрд╛ (рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ) /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins (Ubuntu рдкрд░ рд╕реНрдерд╛рдкрд┐рдд)ред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╢рд╛рдпрдж рдкрд╛рдардХ рдХреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ (рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдпрд╛ рд▓реЗрдЦрдХ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрджреЗрд╢ рдореЗрдВ рд▓рд┐рдЦреЗрдВ)ред рд╡рд░реНрдгрд┐рдд рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреНрд▓рдЧрдЗрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛

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