GUI 18

Golang GUI(Webview) - HTML 파일 분리

이번에는 Webview 라이브러리를 사용하면서 HTML 파일을 별도로 분리하는 방법을 알아보겠습니다. 그리고, 좀더 보기좋은 GUI 구성을 위해 부트스트랩도 함께 적용하도록 하겠습니다. 사실 이부분은...CSS 파일을 별도로 인식시켰으면 좋겠지만, 아직까지 별도의 CSS파일을 적용시키는 것은 안되는 것 같습니다. 1. 라이브러리 설치 라이브러리 설치는 이전 강좌를 참고하세요. 2. main.go 파일 작성 main.go 파일에 전체 프로그램 구동을 구현합니다. 아울러, 버튼을 클릭했을 때 동작할 함수(go_hello)를 작성하고, 바인딩해줍니다. Webview라이브러리를 활용하면, go에서 javascript를 실행할 수도 있고, html파일(javascript 포함)에서 go언어를 실행할 수도 있습니다..

Programming/GOLANG 2021.11.12

Golang GUI(Webview) - 시작하기

Go언어 GUI 라이브러리 중 Webview를 사용해서 데스크탑 앱을 만들어보도록 하겠습니다. Webview는 HTML로 레이아웃을 구성할 수 있어서 간단한 앱은 쉽게 만들 수 있습니다. 1. 라이브러리 설치 이번엔 리눅스환경에서(우분투 20.04) 라이브러리를 설치하겠습니다. sudo apt-get install libgtk-3-dev sudo apt-get install libwebkit2gtk-4.0-dev go get github.com/webview/webview 2. Sample Project 다음으로 간단히 main.go 파일을 생성하고, 아래와 같이 작성해줍니다. package main import "github.com/webview/webview" func main() { w := web..

Programming/GOLANG 2021.11.11

C#(WPF) - GUI 연습하기 2

오늘은 아래 유튜브 영상의 데스크탑 어플리케이션을 구현해보겠습니다. https://www.youtube.com/watch?v=qSP8v8Gi3XU 1. 라이브러리 설치 이번 영상에서는 Material Design과 LiveCharts를 사용합니다. 아래의 명령으로 Package를 설치해줍니다. dotnet add package MaterialDesignThemes --version 4.2.1 // material Design 설치 dotnet add package LiveCharts.Wpf --version 0.9.7 // live chart 설치 또는 Nuget GUI Manager 를 설치 후 Shift + Ctrl + P 로 명령창에서 Nuget 입력 시 나타나는 명령을 수행합니다. 그리고 Nuge..

Programming/C# 2021.10.30

C#(WPF) - GUI 연습하기(with Material Design)

오늘은 아래 유튜브 영상의 데스크탑 어플리케이션을 구현해보겠습니다. https://www.youtube.com/watch?v=sgEhK3mbDYo 1. 라이브러리 설치 이번 영상에서는 Material Design과 LiveCharts를 사용합니다. 아래의 명령으로 Package를 설치해줍니다. dotnet add package MaterialDesignThemes --version 4.2.1 // material Design 설치 dotnet add package LiveCharts.Wpf --version 0.9.7 // live chart 설치 또는 Nuget GUI Manager 를 설치 후 Shift + Ctrl + P 로 명령창에서 Nuget 입력 시 나타나는 명령을 수행합니다. 그리고 Nuge..

Programming/C# 2021.10.29

Go언어 - Fyne timer예제

Fyne tutorial에 있는 timer 예제입니다. 1. main.gopackage main import ( "time" "fyne.io/fyne/app" "fyne.io/fyne/widget" ) func showTime(clock *widget.Label) { formatted := time.Now().Format("03:04:05")//현재시각을 포멧에 따라 출력한다. clock.SetText(formatted) } func main() { a := app.New() w := a.NewWindow("Clock") clock := widget.NewLabel("") showTime(clock) w.SetContent(clock) go func() { t := time.NewTicker(time.S..

Programming/GOLANG 2021.01.01

Go언어 - Fyne 한글 폰트 설정

Fyne를 이용해 GUI를 만들던 중 한글 출력이 안된다는 것을 뒤늦게 알게 되었네요.(아래 화면 참조). 오늘은 한글 설정하는 방법에 대해 알아보겠습니다. 샘플로 간단한 메모장 앱을 만들어보겠습니다. 1. main.go위 샘플로 만든 앱의 코드는 아래와 같습니다.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.LightThem..

Programming/GOLANG 2021.01.01

Go언어 - Lorca GUI 간단한 메모장

이번에는 모듈 구분을 하여 코드를 좀 다듬어보려고 합니다. 아직 Lorca는 예제가 많지도 않고, 튜토리얼이 있는 상태도 아니어서 혼자 여러가지 방식을 시도해 보는 중입니다. 어쨌든 목적은 Control, View와 Function을 다른 파일에 나누어 구성하는 것입니다. 1. lorca_ex.go(Control파일) 앱의 시작부분으로 Control에 해당하는 역할을 합니다. 함수 바인딩을 이곳에서 정의합니다. 그리고 index.html을 불러와서 data에 저장한 뒤 url.PathEscape메서드에 string형태의 인자로 넘겨주는 방식으로 수정해 주었습니다. package main import ( "io/ioutil" "net/url" "github.com/zserge/lorca" ) var ui ..

Programming/GOLANG 2020.12.09

Go언어 - Lorca GUI 라이브러리

Go 언어로 구현된 라이브러리들도 상당히 많습니다. (https://github.com/avelino/awesome-go#gui). 이전에 Fyne, Gotk3, andlabs/ui, sciter 에 대해서 포스팅한 적이 있는데요...최대한 설치할 것들이 적고 쉽게 구축 가능한 라이브러리들을 찾아보고 있었습니다. 그러던 중 Lorca라는 것을 발견했는데요. 오늘은 이 Lorca 를 한번 사용해보겠습니다. Lorca는 HTML 문법을 사용하여 매우 쉽게 UI를 구성할 수 있다는 장점이 있습니다. 비슷하게는 Webview가 있는데, 가볍고 build된 파일도 용량이 매우 작지만 설치시 조금 애로가 있을 수 있고, 세부설정도 Lorca보다는 조금 어렵다고 합니다. 반대로 얘기하면, Lorca는 설정할 수 있는..

Programming/GOLANG 2020.12.08