반응형
package main
import (
"fmt"
"image/color"
_ "unicode/utf8"
"fyne.io/fyne"
"fyne.io/fyne/app"
"fyne.io/fyne/canvas"
"fyne.io/fyne/layout"
"fyne.io/fyne/theme"
"fyne.io/fyne/widget"
)
func main() {
f := app.New()
//f.Settings().SetTheme(theme.LightTheme())
f.Settings().SetTheme(theme.DarkTheme())
w := f.NewWindow("")
//상단에 넣을 위젯 및 레이아웃 - NewFormLayout
qry := widget.NewEntry()
btn_go := widget.NewButton("New Memo", New_btn)
text := canvas.NewText("Text Object", color.White)
text.Alignment = fyne.TextAlignTrailing
text.TextStyle = fyne.TextStyle{Italic: true}
ret := fyne.NewContainerWithLayout(layout.NewFormLayout())
ret.AddObject(btn_go)
ret.AddObject(qry)
//하단에 넣을 위젯 및 전체 레이아웃 구성 - NewBorderLayout
label2 := widget.NewLabel("Simple Memo")
labox2 := fyne.NewContainerWithLayout(layout.NewCenterLayout(), label2)
b1 := widget.NewButton("Go1", func() { fmt.Println("Go1 Button") })
b1.ExtendBaseWidget(b1)
b2 := widget.NewButton("Go2", func() { fmt.Println("Go2 Button") })
b2.ExtendBaseWidget(b2)
out_entry := widget.NewMultiLineEntry()
out_entry.SetPlaceHolder("결과...")
out_entry.ExtendBaseWidget(out_entry)
frm := fyne.NewContainerWithLayout(layout.NewBorderLayout(ret, labox2, nil, nil)) //상, 하, 좌(없음), 우(없음)
frm.AddObject(ret) //상단
frm.AddObject(labox2) //하단
frm.AddObject(out_entry) //좌-우가 없으므로 5번째에(center) 추가됨
w.SetContent(frm)
w.Resize(fyne.Size{Height: 640, Width: 480})
w.ShowAndRun()
}
반응형
'Programming > Golang' 카테고리의 다른 글
go웹앱을 NginX와 연동하기(windows) (1) | 2020.04.29 |
---|---|
golang gin 웹앱 heroku에 배포하기 (0) | 2020.04.17 |
go언어 gui 실행시 콘솔 안보이게 하는 방법 (2) | 2020.04.08 |
go언어 윈도우즈용 실행파일 아이콘 만들기-리소스해커 (0) | 2020.04.08 |
go언어 fyne layout 예제 (4) | 2020.04.07 |