Cute (Qt) binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly
Find a file
2023-01-23 15:19:33 +01:00
androidextras Big merge 2023-01-23 15:12:32 +01:00
bluetooth Big merge 2023-01-23 15:12:32 +01:00
charts Big merge 2023-01-23 15:12:32 +01:00
cmd Big merge 2023-01-23 15:12:32 +01:00
core Big merge 2023-01-23 15:12:32 +01:00
datavisualization Big merge 2023-01-23 15:12:32 +01:00
dbus Big merge 2023-01-23 15:12:32 +01:00
designer Big merge 2023-01-23 15:12:32 +01:00
felgo Big merge 2023-01-23 15:12:32 +01:00
flutter Big merge 2023-01-23 15:12:32 +01:00
gamepad Big merge 2023-01-23 15:12:32 +01:00
gui Big merge 2023-01-23 15:12:32 +01:00
help Big merge 2023-01-23 15:12:32 +01:00
internal Merge: https://github.com/therecipe/qt/pull/1048/files 2023-01-23 15:18:07 +01:00
interop Big merge 2023-01-23 15:12:32 +01:00
location Big merge 2023-01-23 15:12:32 +01:00
macextras Big merge 2023-01-23 15:12:32 +01:00
multimedia Big merge 2023-01-23 15:12:32 +01:00
network Big merge 2023-01-23 15:12:32 +01:00
nfc Big merge 2023-01-23 15:12:32 +01:00
positioning Big merge 2023-01-23 15:12:32 +01:00
printsupport Big merge 2023-01-23 15:12:32 +01:00
purchasing Big merge 2023-01-23 15:12:32 +01:00
qml Big merge 2023-01-23 15:12:32 +01:00
quick Big merge 2023-01-23 15:12:32 +01:00
quickcontrols2 Big merge 2023-01-23 15:12:32 +01:00
remoteobjects Big merge 2023-01-23 15:12:32 +01:00
sailfish Big merge 2023-01-23 15:12:32 +01:00
script Big merge 2023-01-23 15:12:32 +01:00
scripttools Big merge 2023-01-23 15:12:32 +01:00
scxml Big merge 2023-01-23 15:12:32 +01:00
sensors Big merge 2023-01-23 15:12:32 +01:00
serialbus Big merge 2023-01-23 15:12:32 +01:00
serialport Big merge 2023-01-23 15:12:32 +01:00
speech Big merge 2023-01-23 15:12:32 +01:00
sql Big merge 2023-01-23 15:12:32 +01:00
svg Big merge 2023-01-23 15:12:32 +01:00
testlib Big merge 2023-01-23 15:12:32 +01:00
uitools Big merge 2023-01-23 15:12:32 +01:00
virtualkeyboard Big merge 2023-01-23 15:12:32 +01:00
webchannel Big merge 2023-01-23 15:12:32 +01:00
webengine Big merge 2023-01-23 15:12:32 +01:00
webkit Big merge 2023-01-23 15:12:32 +01:00
websockets Big merge 2023-01-23 15:12:32 +01:00
webview Big merge 2023-01-23 15:12:32 +01:00
widgets Merge widgets 2023-01-23 15:13:09 +01:00
xml Big merge 2023-01-23 15:12:32 +01:00
xmlpatterns Big merge 2023-01-23 15:12:32 +01:00
.gitignore cgo-less interop related changes 2020-08-17 18:37:48 +02:00
_config.yml Set theme jekyll-theme-cayman 2017-04-08 21:13:04 +02:00
azure-pipelines.yml use azure pipelines for docker image building 2018-11-07 19:45:50 +01:00
go.mod Big merge 2023-01-23 15:12:32 +01:00
go.sum revert go.mod and go.sum changes 2019-10-15 17:50:15 +02:00
LICENSE Dropping exec permissions on files 2017-04-12 15:21:13 +07:00
qt.go even more changes related to the js binding + fixes for Qt 5.14 2019-12-21 17:42:05 +01:00
qt_android.go minor cleanup 2018-03-20 14:52:35 +01:00
qt_js.go experimental support for the msvc builds to get the webengine/webview modules working on windows 2019-09-10 20:17:30 +02:00
qt_notjs.go more fixes for js/wasm + fix ldFlags issue + fix minor iOS build issue 2018-11-17 02:47:23 +01:00
qt_wasm.go experimental support for the msvc builds to get the webengine/webview modules working on windows 2019-09-10 20:17:30 +02:00
qt_wasm_112.go fix js/wasm deployments 2020-09-02 21:06:51 +02:00
qt_wasm_113.go experimental support for the msvc builds to get the webengine/webview modules working on windows 2019-09-10 20:17:30 +02:00
README.md More updated of the github path 2023-01-23 15:14:20 +01:00

Introduction

Qt is a free and open-source widget toolkit for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms with little or no change in the underlying codebase.

Go, also known as Golang, is a programming language designed at Google.

therecipe/qt allows you to write Qt applications entirely in Go or JavaScript.

Beside the language bindings provided, therecipe/qt also greatly simplifies the deployment of Qt applications to various software and hardware platforms.

At the time of writing, almost all Qt functions and classes are accessible, and you should be able to find everything you need to build fully featured Qt applications.

Impressions

Gallery of example applications.

JavaScript Demo | source

Installation

The following instructions assume that you already installed Go and Git

Windows (more info)
set GO111MODULE=off
go get -v github.com/bluszcz/cutego/cmd/... && for /f %v in ('go env GOPATH') do %v\bin\qtsetup test && %v\bin\qtsetup -test=false
macOS (more info)
export GO111MODULE=off; xcode-select --install; go get -v github.com/bluszcz/cutego/cmd/... && $(go env GOPATH)/bin/qtsetup test && $(go env GOPATH)/bin/qtsetup -test=false
Linux (more info)
export GO111MODULE=off; go get -v github.com/bluszcz/cutego/cmd/... && $(go env GOPATH)/bin/qtsetup test && $(go env GOPATH)/bin/qtsetup -test=false

Resources

Deployment Targets

Target Arch Linkage Docker Deployment Host OS
Windows 32 / 64 dynamic / static Yes Any
macOS 64 dynamic Yes Any
Linux arm / arm64 / 64 dynamic / static / system Yes Any
Android (+Wear) arm / arm64 dynamic Yes Any
Android-Emulator (+Wear) 32 dynamic Yes Any
SailfishOS arm system Yes Any
SailfishOS-Emulator 32 system Yes Any
Raspberry Pi (1/2/3) arm dynamic / system Yes Any
Ubuntu Touch arm / 64 system Yes Any
JavaScript 32 static Yes Any
WebAssembly 32 static Yes Any
iOS arm64 static No macOS
iOS-Simulator 64 static No macOS
AsteroidOS arm system No Linux
FreeBSD 32 / 64 system No FreeBSD

License

This package is released under LGPLv3

Qt itself is licensed and available under multiple licenses.