рдореИрдВрдиреЗ рдЧреЛ рдкрд░ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдПрдХ рд╕реАрдПрд▓рдЖрдИ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛, рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рдБ, рдФрд░ рдЧреЛ рдореЗрдВ рдХреНрд░реЙрд╕-рд╕рдВрдХрд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ GUI рд╕рдВрд╕реНрдХрд░рдг рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдФрд░ рдлрд┐рд░ рд╢реБрд░реВ рд╣реБрдЖ ...

GUI рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдмрд╛рдЗрдВрдбрд┐рдВрдЧ) рдХрд╛ рд╡рд┐рдХрд▓реНрдк
рдЖрд╡реЗрджрди рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред
рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ Windows , GNU / Linux, рдФрд░ macOS рдХреЗ рддрд╣рдд рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдЪреБрдирд╛рд╡ рдЧрд┐рд░ рдЧрдпрд╛:
рдореИрдВрдиреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдФрд░ рдЕрдиреНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬреЛ рдХреНрд░реЛрдорд┐рдпрдо рдФрд░ рдиреЛрдб.рдЬреЗ рдХреЛ рдЕрдкрдиреЗ рд╕рд╛рде рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрд╛рдлреА рд╡рдЬрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рднреА рдЦрд╛рддреЗ рд╣реИрдВред
рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ред
gotk3
GTK + 3 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ ред рдХрд╡рд░реЗрдЬ рд╕рднреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рд╕реЗ рджреВрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬреЗрдВ рдореМрдЬреВрдж рд╣реИрдВред
рдорд╛рдирдХ go build
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MacOS рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрдХрд▓рди рд╕рдВрднрд╡ рд╣реИред рдХреЗрд╡рд▓ MacOS рдХреЗ рд╕рд╛рде рд╣реА рдЗрд╕ OS рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЦреИрд░, macOS рдХреЗ рд╕рд╛рде рдЗрд╕реЗ Windows + GNU / Linux рдХреЗ рд▓рд┐рдП рднреА рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ , рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ (рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рд╖рдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред MacOS рдХреЗ рд▓рд┐рдП рдпрд╣ рджреЗрд╢реА рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред рдЖрдк рдХреЗрд╡рд▓ рддрдм рддрдХ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдПрдХ рднрдпрд╛рдирдХ рд╡рд┐рд╖рдп рдЬреЛ macOS рдХреЗ рдореВрд▓ рддрддреНрд╡реЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
therecipe / рдХреНрдпреВрдЯреА
рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА Qt 5 ред QML, рдорд╛рдирдХ рд╡рд┐рдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрдИ рд▓реЛрдЧ рдЗрд╕ рдмрдВрдзрди рдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред
qtdeploy
рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ qtdeploy
ред рдбреЗрд╕реНрдХрдЯреЙрдк рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЛрдмрд╛рдЗрд▓ рднреА рд╣реИрдВред рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд░реЙрд╕ рд╕рдВрдХрд▓рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП, Apple рдХреЛ рдХреЗрд╡рд▓ macOS рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ Qt рдкрд░ , рдЖрдк рдбреЗрд╕реНрдХрдЯреЙрдк OS рдкрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рджреЗрд╢реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
zserge / webview
рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдЦрдХ рдиреЗ рдЗрд╕реЗ рдЧреЛ рд╕рд╣рд┐рдд рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдмрд┐рдЦреЗрд░рд╛ ред рджреЗрд╢реА рд╡реЗрдмрд╡реНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рд╡рд┐рдВрдбреЛрдЬ - MSHTML , GNU / Linux - gtk-webkit2 , macOS - рдХреЛрдХреЛ / рд╡реЗрдмрдХреАрдЯ ред рдЧреЛ рдкрд░ рдХреЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛ , рдЖрдкрдХреЛ рдЬреЗрдПрд╕ рдкрд░ рднреА рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдПрдЪрдЯреАрдПрдордПрд▓ рдХрд╛рдо рдЖрдПрдЧрд╛ред
рдпрд╣ go build
рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рд╣реИ, рдПрдХреНрд╕рдЧреЛ рдХреЗ рд╕рд╛рде рдХреНрд░реЙрд╕- рд╕рдВрдХрд▓рди рд╕рдВрднрд╡ рд╣реИред
рдпрд╣ рджреЗрд╢реА рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдПрдХ рдорд╛рдирдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкрд╕рдВрдж
рдореБрдЭреЗ gotk3 рдХреНрдпреЛрдВ рдЪреБрдирд╛ рдЧрдпрд╛ ?
Therecipe / qt рдореЗрдВ, рдореИрдВрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрджреЗрд╢ рднреА рджрд┐рдпрд╛ред
zserge / webview рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХ рд╡рдЬрди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ webview рд╣реИ рдФрд░ рдРрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рдорд╛рдирдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ : рд╢рд╛рдпрдж рдХрд╣реАрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдФрд░ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рдЙрдиреНрдирдд рдХреНрд░реЛрдорд┐рдпрдо рд╣рдореЗрд╢рд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдкреБрд░рд╛рдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ JS рдореЗрдВ рднреА рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ gotk3 рдХреЛ рдХреБрдЫ рдФрд╕рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ред рдЖрдк рдЗрд╕реЗ рдорд╛рдирдХ go build
рд╕рд╛рде рдмрдирд╛ рд╕рдХрддреЗ go build
, рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ GTK + 3 рд╕реЗ рдкреНрдпрд╛рд░ рд╣реИ!
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛрдЧрд╛ред рдФрд░ рдЧреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╡реНрдпрд░реНрде рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЬреАрдпреВрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдХрд┐рддрдирд╛ рдЧрд▓рдд рдерд╛ ...
рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ
рдЦреБрдж рдХреЛ gotk3 ( gtk , gdk , glib , cairo ) рд╕реЗ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
go get github.com/gotk3/gotk3/...
рд╕рд╛рде рд╣реА, рдЬреАрдЯреАрдХреЗ + 3 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕
рдЙрдмрдВрдЯреВ рдореЗрдВ :
sudo apt-get install libgtk-3-dev
рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ :
sudo pacman -S gtk3
MacOS
рд╣реЛрдордмреНрд░реЗ
brew install gtk-mac-integration gtk+3
рд╡рд┐рдВрдбреЛрдЬ
рдпрд╣ рдпрд╣рд╛рдБ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрджреЗрд╢ MSYS2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдм рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЛрдб рд▓рд┐рдЦрд╛, рдФрд░ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рд╕рдВрдХрд▓рди рдХрд┐рдпрд╛, рдЬреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╣реА рд▓рд┐рдЦреЗрдВрдЧреЗред
рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ
рдЕрдм рд╣рдо main.go
рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреА рдлрд╛рдЗрд▓ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
package main import ( "log" "github.com/gotk3/gotk3/gtk" ) func main() {
рдЖрдк go build
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рди рдХрд░ рд╕рдХрддреЗ go build
, рдФрд░ рдлрд┐рд░ рдмрд╛рдЗрдирд░реА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ:
go run main.go
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдЦрд┐рдбрд╝рдХреА рдорд┐рд▓рддреА рд╣реИ:

рдмрдзрд╛рдИ! рдЖрдкрдХреЛ README gotk3 рд╕реЗ рдПрдХ рд╕рд░рд▓ рдЖрд╡реЗрджрди рдорд┐рд▓рд╛!
рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдЧрд┐рддреВрдм рдЧрдЯрдХ 3 рдкрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдЪрд▓реЛ рдХреБрдЫ рдРрд╕рд╛ рдХрд░реЗрдВ рдЬреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рди рд╣реЛ!
рд╡реГрдХреНрд╖реЛрдВ рд╕реЗ рдЦрд╛рд▓реА рдЬрдЧрд╣
Gtk + 3 рдХреЗ рд▓рд┐рдП рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ - рдЧреНрд▓реЗрдб ред рдпрд╣ GTK + рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдбрд┐рдЬрд╛рдЗрдирд░ рд╣реИред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреВрд░реЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдЧреНрд▓реЗрдб рдореЗрдВ рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдПрдХ XML рдЬреИрд╕реА * .glade рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░реЗрдВред
рдЧреНрд▓реЗрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕
GNU / Linux рд╡рд┐рддрд░рдг рдкрд░, рдЧреНрд▓реЗрдб рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдХреБрдЫ рдЙрдмрдВрдЯреВ рдореЗрдВ, рдпрд╣ рд╣реЛрдЧрд╛:
sudo apt-get install glade
рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ :
sudo pacman -S glade
MacOS
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдмрд╣реБрдд рдкреБрд░рд╛рдиреЗ рдмрд┐рд▓реНрдб рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, Homebrew рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:
brew install glade
рдФрд░ рдлрд┐рд░ рдЪрд▓рд╛рдПрдВ:
glade
рд╡рд┐рдВрдбреЛрдЬ
рдЖрдк рдпрд╣рд╛рдБ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд╣рд╛рдВ рдЧреНрд▓реЗрдб рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЧреНрд▓реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреА рддрд░рд╣ рдХреБрдЫ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИ:

рд╕рд╣реЗрдЬрд╛ рдФрд░ main.glade
рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХреА:
<?xml version="1.0" encoding="UTF-8"?> <interface> <requires lib="gtk+" version="3.20"/> <object class="GtkWindow" id="window_main"> <property name="title" translatable="yes"> Glade</property> <property name="can_focus">False</property> <child> <placeholder/> </child> <child> <object class="GtkBox"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="margin_left">10</property> <property name="margin_right">10</property> <property name="margin_top">10</property> <property name="margin_bottom">10</property> <property name="orientation">vertical</property> <property name="spacing">10</property> <child> <object class="GtkEntry" id="entry_1"> <property name="visible">True</property> <property name="can_focus">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkButton" id="button_1"> <property name="label" translatable="yes">Go</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkLabel" id="label_1"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="label" translatable="yes">This is label</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">2</property> </packing> </child> </object> </child> </object> </interface>
рдпрд╣реА рд╣реИ, рд╣рдореЗрдВ рдЦрд┐рдбрд╝рдХреА window_main
( GtkWindow
) GtkWindow
, рдЬрд┐рд╕рдореЗрдВ рдХрдВрдЯреЗрдирд░ ( GtkBox
) рдХреЗ рдЕрдВрджрд░, рдЬрд┐рд╕рдореЗрдВ entry_1
( GtkEntry
) рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб, button_1
( GtkButton
) рдФрд░ label_1
( GtkLabel
) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрдЧреНрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рднреА рд╣реИрдВ (рдореИрдВрдиреЗ рдереЛрдбрд╝рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ), рджреГрд╢реНрдпрддрд╛ рдФрд░ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЬрд┐рдиреНрд╣реЗрдВ рдЧреНрд▓реЗрдб рдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ред
рдЖрдЗрдП рдЕрдм рдЗрд╕ рджреГрд╢реНрдп рдХреЛ рд╣рдорд╛рд░реЗ main.go
рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
package main import ( "log" "github.com/gotk3/gotk3/gtk" ) func main() {
рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдВ:
go run main.go
рдФрд░ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

рд╣реБрд░реНрд░реЗ! рдЕрдм рд╣рдо XML- main.glade
рдлрд╝рд╛рдЗрд▓ рдФрд░ main.go
рдореЗрдВ рдХреЛрдб main.go
!
рд╕рдВрдХреЗрдд
рдЦрд┐рдбрд╝рдХреА рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рд▓реЗрдмрд▓ рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдХреЛрдб рдореЗрдВ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб, рдмрдЯрди рдФрд░ рд▓реЗрдмрд▓ рдХреЗ рддрддреНрд╡ рдорд┐рд▓рддреЗ рд╣реИрдВ:
рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП GetObject()
рдлрд╝рдВрдХреНрд╢рди рд░рд┐рдЯрд░реНрди рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдореИрдВ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рдордХрд╛рдЬреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдм рдареАрдХ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдЕрдкрдиреЗ рдлреЙрд░реНрдо рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рдЖрдЗрдП clicked
рдмрдЯрди рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ (рдЬрдм рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рдП)ред рдЬреАрдЯреАрдХреЗ + рд╕рдВрдХреЗрдд рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдШрдЯрдирд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:
рдЕрдм рдХреЛрдб рдЪрд▓рд╛рдПрдБ:
go run main.go
рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреБрдЫ рдкрд╛рда рджрд░реНрдЬ рдХрд░рдиреЗ рдФрд░ Go рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕ рдкрд╛рда рдХреЛ рд▓реЗрдмрд▓ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ:

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