рдбреА 3 рдбреЗрдЯрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ
рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдПрдХ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рд░реНрдЧ рд╣реИ, рдЬреЛ рдХрд┐ Qt рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рджреБрд░реНрдЧрдо рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпреВрдЯреА рдврд╛рдВрдЪреЗ рдХрд╛ рд▓рдЪреАрд▓рд╛рдкрди рдЖрдкрдХреЛ
рдХреНрдпреВрдЯреА рд╡реЗрдм рдмреНрд░рд┐рдЬ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм-рдлреНрд░рдВрдЯреЗрдВрдб рдХреЛ рдПрдХ рдореЛрдЯреЗ рдЧреНрд░рд╛рд╣рдХ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╣рд╛рдЗрдмреНрд░рд┐рдб (
Qt Hybrid Apps ) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП, рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕рдорд╛рдзрд╛рди рдЖрд╕рд╛рдиреА рд╕реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рдХреНрд╖рд┐рдд рджрд░реНрд╢рдХреЛрдВ рдХреЛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдХреНрдпреВрдЯреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИ)ред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ
рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд╡реНрд╣реАрд▓ рд╡рд┐рдЬреЗрдЯ (рд╕рд░реНрдХрд▓ рдСрдл рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА) рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ D3.js рдФрд░ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ Qt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдкреЙрдЗрдВрдЯрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд╛рдк рдХреЗ рдКрдкрд░ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рд░рд┐рд╢реНрддреЗ "рд╣рд╛рдЗрд▓рд╛рдЗрдЯ" рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдХреА рдЕрд░реНрдз-рдЕрдВрдХ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдирд┐рд░реНрднрд░рддрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ) рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореВрд▓ рдЬреЗрдПрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЪрд╛рд░реНрдЯ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рдЬреЗрдЯ рдХреЛ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдХреНрдпреВрдЯреА рдкрдХреНрд╖ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬреЗрдПрд╕рдПрди рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдХреЗ рдирд╣реАрдВред
рд▓реЗрдЦ рдХреНрдпреВрдЯреА-рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкрд░ рдЕрдзрд┐рдХ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЗрдПрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рд╛рдЗрдмреНрд░рд┐рдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╡рд┐рдЪрд╛рд░
рд╣рд╛рдЗрдмреНрд░рд┐рдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдореВрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рдХрдИ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ:
- рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЧрдд;
- рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрдирд╛ рдХрднреА-рдХрднреА рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рд╣реЛрддрд╛ рд╣реИ;
- рдореМрдЬреВрджрд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдПрдкреАрдЖрдИ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ред
рд╣рд╛рдЗрдмреНрд░рд┐рдб рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ:
- рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдЬрдЯрд┐рд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рд╡реЗрдм-рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ (рдПрдЪрдЯреАрдПрдордПрд▓, рд╕реАрдПрд╕рдПрд╕, рдПрд╕рд╡реАрдЬреА, рдХреИрдирд╡рд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ;
- рдореМрдЬреВрджрд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдкреАрдЖрдИред
рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐
- Qt-application рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ;
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ Qt рднрд╛рдЧ рдореЗрдВ C ++ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрддрд▓реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
Qt рдореЗрдВ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
WebKit рдЗрдореЗрдЬ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рд╣реИ ред
рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХреЗрд╡рд▓ рднрд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШрдЯрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреА, рдЬреИрд╕рд╛ рдХрд┐ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╣реИ (рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ / рдЗрдВрдЯрд░рдиреЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИ:
рдЖрдзрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- d3viewer.h рдФрд░ d3viewer.cpp - рдмреЗрд╕ рд╡реНрдпреВ рдХреНрд▓рд╛рд╕ рдбреА 3 рд╡реНрдпреВрдЕрд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, QWidget рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдФрд░ QWebView рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдХреИрдкрд┐рдВрдЧ рдЗрдВрдЯрд░реИрдХреНрд╢рдиред
- d3webpage.h рдФрд░ d3webpage.cpp - D3WebPage рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - QWebPage рдХреЗ рд╡рдВрд╢рдЬ ( QWebPage рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реВрдЪрдирд╛ рдХреЗ рдЙрддреНрдкрд╛рджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП :: jpgScriptConsoleMessage )ред
рдЪрд╛рд░реНрдЯ / рдкрд╛рдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ:
- dependencywheelwidget.h рдФрд░ dependencywheelwidget.cpp - рдЖрдзрд╛рд░ рджреГрд╢реНрдп рд╡рд░реНрдЧ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди QWidget рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдФрд░ QWebView рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ ред
рд╕рдВрд╕рд╛рдзрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рджреЛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: js рдФрд░ htmlред Html рдореЗрдВ рд╡рд╣ рдкреЗрдЬ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЬрд┐рд╕рдореЗрдВ Qt рдХреЗ рд╕рд╛рде рд╕рднреА рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛрдб рд╣реИрдВ, js рдореЗрдВ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрд╡реИрд▓ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ js рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ: рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП d3.min.js рдбреА 3 рдФрд░ d3.dk рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдЬреЗ рдПрд╕ред
рд╡рд░реНрдЧ рдЖрд░реЗрдЦ
VisualParadigm рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЗрдЦ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░рд▓ рдЖрд░реЗрдЦ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЗрд╕рдореЗрдВ рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЬреЛ рд╕реАрдзреЗ рд╡рд░реНрдгрд┐рдд рддрдХрдиреАрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╡рд░рдг рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рд▓рд┐рдВрдХ рдЬреЛ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реИред
Qt <-> JS рдЗрдВрдЯрд░реЗрдХреНрд╢рди
рд╣рд╛рдЗрдмреНрд░рд┐рдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд╕реНрддреБ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╡рд┐рдзрд┐ рдХреЙрд▓ Qt рдкрдХреНрд╖ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ:
void D3Viewer::addContextObject(const QString &name, QObject *object) { frame()->addToJavaScriptWindowObject( name, object ); //frame() - QWebFrame }
рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдореЗрдВ D3Viewer рджреНрд╡рд╛рд░рд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
addContextObject("api", this);
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде Qt рдХреА рдмрд╛рддрдЪреАрдд рдЪрд╛рд░ рддрдВрддреНрд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╡ рд╣реИ:
- рд╡рд╕реНрддреБ рдХреЗ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рд╕реЗред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЧреБрдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ JS рдореЗрдВ рд╕рдВрджрд░реНрдн рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ ("рдПрдкреАрдЖрдИ"):
public: Q_PROPERTY(float padding READ padding WRITE setPadding) public slots: float padding(); //getter void setPadding(const float padding); //setter
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрди рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ JS рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
var chart = d3.chart.dependencyWheel() .width(api.width) .height(api.height) .margin(api.margin) .padding(api.padding);
- рдЬреЗрдПрд╕ рдореЗрдВ рдХреНрдпреВрдЯреА рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдХреЗ, рдЬреЗрдПрд╕ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди-рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕рд┐рдЧреНрдирд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
api.update.connect(redraw);
- рдЬреЗрдПрд╕ рдореЗрдВ рдХреНрдпреВрдЯреА рд╕реНрд▓реЙрдЯреНрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ:
g.append("svg:path") .style("fill", fill) .style("stroke", fill) .attr("d", arc) .on("mouseover", fade(0.1)) .on("mouseout", fade(1)) .on('click', function (d) { api.itemClicked(packageNames[d.index]) } );
- рдЬреЗрдПрд╕ рдореЗрдВ рдЕрдиреНрдп рдХреНрдпреВрдЯреА рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдШреЛрд╖рдгрд╛ рдХреЛ Q_INVOKABLE рдореИрдХреНрд░реЛ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
Q_INVOKABLE void thisMethodIsInvokableInJavaScript();
- рдЬреЗрдПрд╕ рдХреЛрдб рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд╖реНрдкрд╛рджрдиред
void D3Viewer::evaluateScript(const QString &script) { frame()->evaluateJavaScript(script); }
рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ 4 рдФрд░ 5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд┐рдмрдЧрд┐рдВрдЧ
рдЬреЗрдПрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд╕рд╛рде рд╣реА рдбреЛрдо рджреЗрдЦреЗрдВ, рдиреЗрдЯрд╡рд░реНрдХ рдЧрддрд┐рд╡рд┐рдзрд┐, рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрди, рдЖрджрд┐ рджреЗрдЦреЗрдВ), рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдбреА 3 рд╡реНрдпреВрдЕрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
#ifdef QT_DEBUG // page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); #endif
рдлрд┐рд░, рд░рдирдЯрд╛рдЗрдо рдкрд░, рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдЖрдЗрдЯрдо "рдирд┐рд░реАрдХреНрд╖рдг" рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ (QWebView рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)ред
рдХрд┐рд╕ рд╡рд┐рдВрдбреЛ рдХреЛ рдЪреБрдирдХрд░ рд╡реЗрдм-рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░-рдП рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рд╡рд┐рдВрдбреЛ рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдм рдкрд░, рдЖрдк рдбреАрдмрдЧрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдмрд╛рдИрдВ рддрд░рдл рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдЗрди рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИред
PS Qt 4.8.6 рдореЗрдВ, рдореИрдВрдиреЗ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд┐рдпрд╛ред 5.3.0 рдореЗрдВ, рд╕рдм рдХреБрдЫ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХрдорд┐рдпреЛрдВ
рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдХреЗ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВред рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, D3.js рдХреЛ "рдкреНрд░реАрдЯреАрдиреЗрд╕" рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдХреАрдордд рдЪреБрдХрд╛рдиреА рд╣реЛрдЧреАред
рд╕реНрд░реЛрдд рдХреЛрдб
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб
рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз
рд╣реИ ред
рдПрдХ рдЙрджрд╛рд╣рд░рдг Qt 4.8.6 рдФрд░ 5.3.0 рдХреЗ рддрд╣рдд рдмрдирд╛рдпрд╛ рдФрд░ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред