Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/salviati/go-qt5
qt5 bindings for go
https://github.com/salviati/go-qt5
Last synced: 3 days ago
JSON representation
qt5 bindings for go
- Host: GitHub
- URL: https://github.com/salviati/go-qt5
- Owner: salviati
- License: bsd-2-clause
- Fork: true (visualfc/go-ui)
- Created: 2013-01-19T15:12:10.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2017-04-01T22:06:48.000Z (over 7 years ago)
- Last Synced: 2024-08-01T21:53:40.716Z (3 months ago)
- Language: Lua
- Homepage:
- Size: 1.12 MB
- Stars: 418
- Watchers: 49
- Forks: 68
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#go-qt5
##Before you start
This is a fork of visualfc's qt4 bindings, and several critical bugs are inherited along the way. Until these bugs are fixed, **this package is not recommended for any real use**.
I don't have any time to actively work on this project, but I'll keep reviewing and merging pull requests.Some other Qt-related, active go projects:
* [Qt bindings for Go](https://github.com/therecipe/qt)
* [QML bindings for Go](https://github.com/niemeyer/qml).##Before filing an issue
* Please read the above section first.
* Make sure it's specifically about the go-qt5 wrappers, and not "how do I do XYZ in Qt?". Such questions are better placed in [Qt5 forums](http://qt-project.org/forums).
* If you find that go-qt5 lacks the wrapper for a particular class you need, feel free to send a patch.##Introduction
go-qt5 provides with qt5 bindings for Go programming language, based on visualfc's go-ui library.Lua code that generates the wrappers (`uiobjs.go` and `cdrv.cpp`) can be found under `make`.
The wrapper code is by far incomplete, so pull requests are more than welcome. Adding new functionality usually consists of editing or adding files under `make/qt5`, and updating `make/make.lua` script, and making relevant changes in `qt5` and `qtdrv`.
##License
go-qt5 lib BSD
qtdrv lib LGPL##Using go-qt5
###1. get go-qt5
$ go get github.com/salviati/go-qt5
###2. generate bindings
$ cd $GOPATH/src/github.com/salviati/go-qt5/make
$ lua make.lua
$ lua makelib.lua
###3. build & install C layer
$ cd $GOPATH/src/github.com/salviati/go-qt5/goqtdrv5
$ qmake "CONFIG+=release"
$ make
# make install
###4.build go-qt5
$ cd $GOPATH/src/github.com/salviati/go-qt5/qt5
$ go install
###5.build examples
$ cd $GOPATH/src/github.com/salviati/go-qt5/examples
$ go run minimal.go##A minimal example
package main
import (
"github.com/salviati/go-qt5/qt5"
)
func main() {
qt5.Main(func() {
w := qt5.NewWidget()
w.SetWindowTitle(qt5.Version())
w.SetSizev(300, 200)
defer w.Close()
w.Show()
qt5.Run()
})
}