diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0188c760..00000000 --- a/.travis.yml +++ /dev/null @@ -1,48 +0,0 @@ -language: go - -dist: trusty -sudo: required - -go: 1.9.x - -env: DESKTOP=true ANDROID=false - -matrix: - include: - - os: linux - env: DESKTOP=true ANDROID=false QT_PKG_CONFIG=true PKG_CONFIG_PATH=/opt/qt58/lib/pkgconfig QT_DOC_DIR=/opt/qt58/doc QT_MISC_DIR=/opt/qt58 - - - os: linux - env: DESKTOP=false ANDROID=true - - - os: osx - osx_image: xcode8.2 - env: DESKTOP=true ANDROID=false - - - os: osx - osx_image: xcode8.2 - env: DESKTOP=true ANDROID=false QT_HOMEBREW=true - - - os: osx - osx_image: xcode8.2 - env: DESKTOP=false ANDROID=true - - - os: osx - osx_image: xcode8.2 - env: DESKTOP=false ANDROID=false IOS=true - - - os: osx - osx_image: xcode8.2 - env: DESKTOP=false ANDROID=false IOS_SIMULATOR=true - -install: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then travis_wait 30 $GOPATH/src/github.com/therecipe/qt/internal/ci/linux.sh; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then travis_wait 45 $GOPATH/src/github.com/therecipe/qt/internal/ci/darwin.sh; fi - -script: - - go get -v github.com/therecipe/qt/cmd/... - - if [[ "$DESKTOP" == "true" ]]; then $GOPATH/bin/qtsetup full desktop; fi - - if [[ "$ANDROID" == "true" ]]; then $GOPATH/bin/qtsetup full android; fi - - if [[ "$IOS" == "true" ]]; then $GOPATH/bin/qtsetup full ios; fi - - if [[ "$IOS_SIMULATOR" == "true" ]]; then $GOPATH/bin/qtsetup full ios-simulator; fi - - if [[ "$QT_MXE" == "true" ]]; then $GOPATH/bin/qtsetup full windows; fi diff --git a/README.md b/README.md index 763348d4..2798fe4e 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,37 @@ Introduction ---- +------------ -`therecipe/qt` is [Go](https://golang.org/) binding for [Qt](https://www.qt.io/) application framework which allows you to write GUI applications entirely in Go. This package supports almost all platform that supported by Qt, including Windows, Linux, macOS, iOS, Android, SailfishOS and Raspberry Pi. +[Qt](https://en.wikipedia.org/wiki/Qt_(software)) 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. -The main target of this binding are : +[Go](https://en.wikipedia.org/wiki/Go_(programming_language)) (often referred to as golang) is a programming language created at Google. -1. easing the development of GUI application by making Qt's API accessible from Go; and -2. simplifying the development and deployment processes to multiple platforms. +This package allows you to write Qt applications entirely in Go. -Even though this binding is still work in progress, it's quite stable and most of Qt's API is already accessible from this binding, so it should already contain everything you need to build a fully featured applications. If you still missing something, feel free to open an issue. +[Gallery](https://github.com/therecipe/qt/wiki/Gallery) of applications making use of this package. -Do note that there are no `godoc` entry for this package, because most of binding code is generated by [generator](https://github.com/therecipe/qt/tree/master/internal/binding). However, when building Qt app you can use official [Qt documentation](https://doc.qt.io/qt-5/classes.html) because almost every Qt's API is mapped by this binding to same or predictable name in Go. +Status +------ + +**WIP** + +Most Qt functions are accessible from Go. + +The package should already contain everything you need to build fully featured applications, the webengine/webview packages don't work on Windows though. + +Please pin the repo to a commit that is known to work for you, because there have been no releases so far. + +Resources +--------- + +- [Wiki](https://github.com/therecipe/qt/wiki) +- [FAQ](https://github.com/therecipe/qt/wiki/FAQ) +- [Installation](https://github.com/therecipe/qt/wiki/Installation) +- [Getting Started](https://github.com/therecipe/qt/wiki/Getting-Started) +- [Qt Documentation](https://doc.qt.io/qt-5/classes.html) +- [#qt-binding](https://gophers.slack.com/messages/qt-binding/details) Slack channel ([invite](https://invite.slack.golangbridge.org)\) Deployment Targets ---- - -The following targets are currently supported for deployment : +------------------ | Target | Arch | Linkage | Docker Deployment | Host OS | |:------------------------:|:-------------:|:--------------------------------:|:-----------------:|:-------------------:| @@ -31,34 +47,9 @@ The following targets are currently supported for deployment : | SailfishOS-Emulator | 32 | system libs | No | Windows/macOS/Linux | | AsteroidOS | arm | system libs | No | Linux | -Resources ---- - -- [Gallery](https://github.com/therecipe/qt/wiki/Gallery), which contains example of GUI applications that created using this binding. -- [Frequently asked questions](https://github.com/therecipe/qt/wiki/FAQ), especially the [licensing](https://github.com/therecipe/qt/wiki/FAQ#licensing-1) section, because LGPLv3 license that used in this binding might be not suitable for your projects. -- [Installation](https://github.com/therecipe/qt/wiki/Installation), which shows you how to install this binding on Windows, Linux and macOS. -- [Getting started](https://github.com/therecipe/qt/wiki/Getting-Started), which shows you a simple Hello World example using widgets and QML. - -Community ---- - -Like any other GitHub projects, you can ask your question by creating new issue. You can also join [`#qt-binding`](https://gophers.slack.com/messages/qt-binding/details) Slack channel by inviting yourself [here](https://invite.slack.golangbridge.org/). - -Besides the official examples, you can also check these 3rd party examples from the community : - -- [5k3105/AM](https://github.com/5k3105/AM) -- [5k3105/Coral](https://github.com/5k3105/Coral) -- [5k3105/Pipeline-Editor](https://github.com/5k3105/Pipeline-Editor) -- [5k3105/Sprite-Editor](https://github.com/5k3105/Sprite-Editor) -- [5k3105/Tree-Edit-Example](https://github.com/5k3105/Tree-Edit-Example) -- [gen2brain/url2img](https://github.com/gen2brain/url2img) -- [joeblew99/qt-archi](https://github.com/joeblew99/qt-archi) -- [jordanorelli/grpc-ui](https://github.com/jordanorelli/grpc-ui) -- [Pragma-innovation/bgpflowspectool](https://github.com/Pragma-innovation/bgpflowspectool) - -Feel free to add your project here! - License ---- +------- -This binding is released under [LGPLv3](https://opensource.org/licenses/LGPL-3.0) license, while Qt is available under multiple [licenses](https://www.qt.io/licensing). +This package is released under [LGPLv3](https://opensource.org/licenses/LGPL-3.0). + +Qt is available under multiple [licenses](https://www.qt.io/licensing). diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 525f5de2..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,48 +0,0 @@ -version: 1.0.{build} -clone_depth: 1 -clone_folder: C:\work\src\github.com\therecipe\qt -install: -- cmd: >- - set PATH=%PATH%;C:\Qt\Tools\mingw530_32\bin - - set GOPATH=C:\work - - - set QT=qt-unified-windows-x86-online.exe - - curl -sL --retry 10 --retry-delay 10 -o %TMP%\%QT% https://download.qt.io/official_releases/online_installers/%QT% - - %TMP%\%QT% --script %GOPATH%\src\github.com\therecipe\qt\internal\ci\iscript.qs WINDOWS=true - - del %TMP%\%QT% /Q - - - set SDK=sdk-tools-windows-3859397.zip - - curl -sL --retry 10 --retry-delay 10 -o %TMP%\%SDK% https://dl.google.com/android/repository/%SDK% - - 7z x %TMP%\%SDK% -oC:\android-sdk-windows\ - - del %TMP%\%SDK% /Q - - - C:\android-sdk-windows\tools\bin\sdkmanager.bat --list --verbose - - echo y | C:\android-sdk-windows\tools\bin\sdkmanager.bat "platform-tools" "build-tools;26.0.0" "platforms;android-25" - - C:\android-sdk-windows\tools\bin\sdkmanager.bat --update - - set NDK=android-ndk-r14b-windows-x86_64.zip - - curl -sL --retry 10 --retry-delay 10 -o %TMP%\%NDK% https://dl.google.com/android/repository/%NDK% - - 7z x %TMP%\%NDK% -oC:\ - - del %TMP%\%NDK% /Q -build_script: -- cmd: >- - go get -v github.com/therecipe/qt/cmd/... - - %GOPATH%\bin\qtsetup full desktop - - %GOPATH%\bin\qtsetup full android diff --git a/internal/screenshots/linux_3.png b/internal/screenshots/linux_3.png index 2fa7fd8b..4d8b79a3 100644 Binary files a/internal/screenshots/linux_3.png and b/internal/screenshots/linux_3.png differ diff --git a/internal/screenshots/linux_5.png b/internal/screenshots/linux_5.png index 4d8b79a3..2fa7fd8b 100644 Binary files a/internal/screenshots/linux_5.png and b/internal/screenshots/linux_5.png differ diff --git a/qt_android.go b/qt_android.go index 6861ff8e..1f9b4878 100644 --- a/qt_android.go +++ b/qt_android.go @@ -17,8 +17,8 @@ adb logcat GoLog:I *:S /* #cgo LDFLAGS: -landroid -llog - #include +#include #include */ import "C" diff --git a/screenshots.md b/screenshots.md deleted file mode 100644 index d8d81bbe..00000000 --- a/screenshots.md +++ /dev/null @@ -1,121 +0,0 @@ -macOS ------ - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/darwin_1.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/application) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/darwin_2.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/textedit) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/darwin_3.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/quick/calc) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/darwin_4.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/drawer_nav_x) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/darwin_5.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/gallery) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/darwin_6.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/pixel_editor) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/darwin_7.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/line_edits) - -Windows -------- - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/windows_1.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/application) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/windows_2.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/textedit) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/windows_3.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/quick/calc) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/windows_4.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/drawer_nav_x) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/windows_5.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/gallery) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/windows_6.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/pixel_editor) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/windows_7.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/line_edits) - -Linux ------ - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/linux_1.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/application) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/linux_2.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/textedit) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/linux_3.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/quick/calc) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/linux_4.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/drawer_nav_x) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/linux_5.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/gallery) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/linux_6.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/pixel_editor) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/linux_7.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/widgets/line_edits) - -Android -------- - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/android_portrait.png?raw=true) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/android_landscape.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/gallery) - -iOS ---- - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/ios_portrait.png?raw=true) - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/ios_landscape.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/qml/gallery) - -SailfishOS ----------- - -![](https://github.com/therecipe/qt/blob/master/internal/screenshots/sailfish_portrait.png?raw=true) - -[source](https://github.com/therecipe/qt/blob/master/internal/examples/quick/sailfish) - ---- - -More examples can be found [here](https://github.com/therecipe/qt/blob/master/internal/examples)