Skip to content
Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly
Go C++ C QML JavaScript GLSL Other
Branch: master
Clone or download
Latest commit 2b818d9 Jan 3, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
androidextras even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
bluetooth even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
charts even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
cmd greatly extend the Go <-> Qml/JS interoperability Nov 17, 2019
core fix docker images for azure + minor improvements Dec 29, 2019
datavisualization even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
dbus even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
designer even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
felgo fixes for various potential memory leaks Nov 28, 2019
gamepad even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
gui even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
help even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
internal fix entry deployment Jan 3, 2020
location even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
macextras even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
multimedia even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
network even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
nfc even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
positioning even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
printsupport even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
purchasing even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
qml even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
quick even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
quickcontrols2 even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
remoteobjects even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
sailfish even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
script even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
scripttools even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
scxml even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
sensors even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
serialbus even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
serialport even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
speech even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
sql even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
svg even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
testlib even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
uitools even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
virtualkeyboard even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
webchannel even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
webengine even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
webkit fixes for various potential memory leaks Nov 28, 2019
websockets even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
webview even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
widgets even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
xml even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
xmlpatterns even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
.gitignore more changes related to the js binding Dec 12, 2019
LICENSE Dropping exec permissions on files Apr 12, 2017
README.md update README + minor fixes Oct 22, 2019
_config.yml Set theme jekyll-theme-cayman Apr 8, 2017
azure-pipelines.yml use azure pipelines for docker image building Nov 7, 2018
go.mod revert go.mod and go.sum changes Oct 15, 2019
go.sum revert go.mod and go.sum changes Oct 15, 2019
qt.go even more changes related to the js binding + fixes for Qt 5.14 Dec 21, 2019
qt_android.go minor cleanup Mar 20, 2018
qt_js.go experimental support for the msvc builds to get the webengine/webview… Sep 10, 2019
qt_notjs.go more fixes for js/wasm + fix ldFlags issue + fix minor iOS build issue Nov 17, 2018
qt_wasm.go experimental support for the msvc builds to get the webengine/webview… Sep 10, 2019
qt_wasm_112.go various changes related to the js binding Dec 10, 2019
qt_wasm_113.go experimental support for the msvc builds to get the webengine/webview… Sep 10, 2019

README.md

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.

Installation

Windows (more info)
set GO111MODULE=off
go get -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)
export GO111MODULE=off; xcode-select --install; go get -v github.com/therecipe/qt/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/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 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 is available under multiple licenses

You can’t perform that action at this time.