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
therecipe 89b7941f48 overall deployment speedup and size reduction
* various fixes for js/wasm ([]byte support, quickcompiler support, moc fixes)
* docker go modules support
* android arm64 support
* hide rarely used dependencies behind build flags
* various minor fixes
2019-05-13 20:37:59 +02:00
androidextras breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
bluetooth breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
charts support for the uic 2019-05-06 23:55:31 +02:00
cmd overall deployment speedup and size reduction 2019-05-13 20:37:59 +02:00
core support for the uic 2019-05-06 23:55:31 +02:00
datavisualization support for the uic 2019-05-06 23:55:31 +02:00
dbus breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
designer breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
gamepad breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
gui support for the uic 2019-05-06 23:55:31 +02:00
help support for the uic 2019-05-06 23:55:31 +02:00
internal overall deployment speedup and size reduction 2019-05-13 20:37:59 +02:00
location breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
macextras breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
multimedia support for the uic 2019-05-06 23:55:31 +02:00
network support for the uic 2019-05-06 23:55:31 +02:00
nfc breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
positioning support for the uic 2019-05-06 23:55:31 +02:00
printsupport breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
purchasing breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
qml support for the uic 2019-05-06 23:55:31 +02:00
quick breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
quickcontrols2 various fixes for wasm, raspberry, go 1.12 and minor issues + initial support for Felgo (former V-Play) 2019-04-16 18:28:55 +02:00
remoteobjects breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
sailfish various fixes for wasm, raspberry, go 1.12 and minor issues + initial support for Felgo (former V-Play) 2019-04-16 18:28:55 +02:00
script breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
scripttools breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
scxml support for the uic 2019-05-06 23:55:31 +02:00
sensors breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
serialbus breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
serialport breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
speech breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
sql support for the uic 2019-05-06 23:55:31 +02:00
svg breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
testlib breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
uitools breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
virtualkeyboard support for the uic 2019-05-06 23:55:31 +02:00
webchannel breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
webengine breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
webkit fix invokeMethod signature errors 2017-08-18 00:08:07 +02:00
websockets support for the uic 2019-05-06 23:55:31 +02:00
webview various fixes for wasm, raspberry, go 1.12 and minor issues + initial support for Felgo (former V-Play) 2019-04-16 18:28:55 +02:00
widgets support for the uic 2019-05-06 23:55:31 +02:00
xml breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
xmlpatterns breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
.gitignore support for the uic 2019-05-06 23:55:31 +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 fix docker builds again + fix QT_PKG_CONFIG 2019-04-21 02:42:59 +02:00
go.sum fix docker builds again + fix QT_PKG_CONFIG 2019-04-21 02:42:59 +02:00
LICENSE Dropping exec permissions on files 2017-04-12 15:21:13 +07:00
qt.go breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature 2019-04-20 19:34:45 +02:00
qt_android.go minor cleanup 2018-03-20 14:52:35 +01:00
qt_js.go more fixes for js/wasm + fix ldFlags issue + fix minor iOS build issue 2018-11-17 02:47:23 +01: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 various fixes for wasm, raspberry, go 1.12 and minor issues + initial support for Felgo (former V-Play) 2019-04-16 18:28:55 +02:00
README.md overall deployment speedup and size reduction 2019-05-13 20:37:59 +02:00

Introduction

Qt is a cross-platform application framework that is used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase.

Go (often referred to as golang) is a programming language created at Google.

This package allows you to write Qt applications entirely in Go and makes deploying them later very easy.

Gallery of example applications making use of this package.

WebAssembly Live Demo | repo

Status

Almost all Qt functions and classes are accessible from Go and you should be able to find everything you need to build fully featured applications.

(A special exception are the WebEngine/WebView packages, these aren't available for Windows yet.)

Installation

Windows (more info)
go get -u -v github.com/therecipe/qt/cmd/... && for /f %v in ('go env GOPATH') do %v\bin\qtsetup test && %v\bin\qtsetup -test=false
macOS (more info)
xcode-select --install; go get -u -v github.com/therecipe/qt/cmd/... && $(go env GOPATH)/bin/qtsetup test && $(go env GOPATH)/bin/qtsetup -test=false
Linux (more info)
go get -u -v github.com/therecipe/qt/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 64 dynamic / static / system Yes Any
Android (+Wear) arm 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

License

This package is released under LGPLv3

Qt is available under multiple licenses