Giter Site home page Giter Site logo

ebookbug / qt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from therecipe/qt

0.0 1.0 0.0 7.62 MB

Qt binding for Go (Windows / Mac OS X / Linux / Android)

License: GNU Lesser General Public License v3.0

C++ 28.36% Go 62.64% C 8.24% Assembly 0.01% Java 0.46% QML 0.25% JavaScript 0.05% Batchfile 0.01% Shell 0.01%

qt's Introduction

Screenshots

Windows

Mac OS X

Linux

Android

Portrait

Landscape

source


Getting Started

Desktop (Windows / Mac OS X / Linux)

  1. Install Go >= 1.5.2 and setup a proper GOPATH

  2. Install Qt 5.5.1 in C:\Qt\Qt5.5.1\ or /usr/local/Qt5.5.1/

  3. Setup the environment

    • Windows

      • Add the directory that contains gcc.exe to your PATH

        C:\Qt\Qt5.5.1\Tools\mingw492_32\bin

    • Mac OS X

      • Install Xcode >= 7.2
    • Linux

      • Install g++

        sudo apt-get install g++

      • Install OpenGL dependencies

        sudo apt-get install mesa-common-dev

  4. Download the binding

    go get github.com/therecipe/qt

  5. Generate, install and test

    github.com/therecipe/qt/setup.bat (run as admin)

    or

    github.com/therecipe/qt/setup.sh


Mobile (Android)

  1. Make sure the binding is working by setting up the desktop version

  2. Install the Android SDK in C:\android\android-sdk\ or /opt/android-sdk/

  3. Install the SDK dependencies with C:\android\android-sdk\tools\android.bat or /opt/android-sdk/tools/android

    • Tools
      • Android SDK Build-tools (23.0.2)
    • Android 5.1.1 (API 22)
      • SDK Platform
    • Extras (Windows only)
      • Google USB Driver
  4. Install the Android NDK in C:\android\android-ndk\ or /opt/android-ndk/

  5. Install Apache-Ant in C:\android\apache-ant\ or /opt/apache-ant/

  6. Install Java SE Development Kit (linux only: install in /opt/jdk/)

  7. Install and test

    github.com/therecipe/qt/setup.bat android (run as admin)

    or

    github.com/therecipe/qt/setup.sh android


Quick Start

  1. Create a folder [GOPATH]/src/qtExample

  2. Create a file [GOPATH]/src/qtExample/main.go

package main

import ( "os"

"github.com/therecipe/qt/widgets"

)

func main() { widgets.NewQApplication(len(os.Args), os.Args)

var btn = widgets.NewQPushButton2("Hello World", nil)
btn.Resize2(180, 44)
btn.ConnectClicked(func(flag bool) {
	widgets.QMessageBox_Information(nil, "OK", "You Clicked me!", widgets.QMessageBox__Ok, widgets.QMessageBox__Ok)
})

var window = widgets.NewQMainWindow(nil, 0)
window.SetWindowTitle("Hello World Example")
window.Layout().AddWidget(btn)
window.Show()

widgets.QApplication_Exec()

}


3. Open the command line in `[GOPATH]/src` and run
`qtdeploy build desktop qtExample`

4. Wait a minute, then you will find the executable file here
`[GOPATH]/src/qtExample/deploy/[GOOS]/qtExample`

5. Take a look at the [other examples](https://github.com/therecipe/qt/tree/master/internal/examples)

6. Make yourself familiar with the [qt documentation](https://doc.qt.io/qt-5/classes.html)

qt's People

Contributors

therecipe avatar xland avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.