qt icon indicating copy to clipboard operation
qt copied to clipboard

Actual name and wiki entry

Open ShalokShalom opened this issue 7 years ago • 31 comments

The actual name of this binding is simply "qt"? I am asking since i write the entry in Qts own Wiki for it. I am wondering its not there yet..

ShalokShalom avatar Jun 30 '17 07:06 ShalokShalom

Hey

The actual name of this binding is simply "qt"?

Yeah, actually it's nameless. I wasn't able to come up with something I liked and the obvious ones like "goqt" or "qtgo" were already taken, so I just called the repo "qt" and moved on. So yeah "qt" is the official name, I guess.

I am asking since i write the entry in Qts own Wiki for it. I am wondering its not there yet..

I'm not sure, I did know that Qt had a wiki but I thought that it was inactive. However, I would be happy if this binding would be listed there :)

therecipe avatar Jun 30 '17 23:06 therecipe

I think it IS inactive. ;)

I add qt to this list, no acceptance yet, while Ruby and Perl, both with Qt1 until Qt4 support are still in and two other bindings are also added. https://wiki.qt.io/Language_Bindings

Maybe i ping an admin later, no reaction on Qt either yet.

ShalokShalom avatar Jul 01 '17 08:07 ShalokShalom

CuteGo QuteGo

GoCute GoQute

ShalokShalom avatar Jul 01 '17 08:07 ShalokShalom

Nice name :) needs some name that sticks in people's minds

joeblew99 avatar Jul 03 '17 08:07 joeblew99

Please don't invent cute names. The ruby world is infested with project names such as "cucumber". One of the benefits of go's hierarchical url-based import path approach is that package names can be simply self-describing. In other words, workarounds from systems using flat namespaces don't apply here.

masiulaniec avatar Jul 15 '17 00:07 masiulaniec

A related question is whether the current split into large core, gui, widgets, etc., packages is the best possible one. It seems like if all I need is a QLabel, then I should be able to write:

import "github.com/therecipe/qt/QLabel"

... to gain access to the *QLabel.Object type, thus avoiding the cost of compiling&linking 95% of stuff I don't need.

I wonder if this approach was considered but rejected.

masiulaniec avatar Jul 15 '17 00:07 masiulaniec

@masiulaniec

A related question is whether the current split into large core, gui, widgets, etc., packages is the best possible one. I wonder if this approach was considered but rejected.

Yeah, I recall thinking about that when I split the large "qt" pkg from the early days into the modules. (And also again when the "widgets" module, took 8gb ram to compile)

I think I tried and rejected it because there was a) a lot of duplicate C and Go code necessary to get it working and b) I had problems with circle dependencies.

therecipe avatar Jul 25 '17 18:07 therecipe

@therecipe Any suggestions? I added your project now to the Qt Wiki: https://wiki.qt.io/Language_Bindings

I think it would be nice to list all the supported Qt library's since some offer 4 of them, others all and so on. You wrote, "Most of Qt's API is accessible from Go."

Is there a specific list?

ShalokShalom avatar Jul 27 '17 09:07 ShalokShalom

@ShalokShalom Ah, thank you :)

Any suggestions?

Maybe it should be mentioned that you can subclass with the help of qtmoc and thereby extend your "classes" (Go has only structs and no real classes) with custom signals/slots/properties/constructors. That rcc and {win|mac}deployqt are wrapped by qtrcc and qtdeploy, and that you can simply cross compile to most other targets (>= 10) with the help of docker and vagrant. And that you can use docker and vagrant for your CI and CD purposes as well. But there are also a few other things, like the fact that you can re-generate the whole binding with qtsetup against a range of Qt versions. Or that the binding is a one to one mapping against Qt's C++ api. Or maybe even that you don't have to install Qt on your pc at all, if you run the minimal setup with docker. Or that you can override virtual functions (and also signals/slots) at runtime with anonymous functions (Lambdas). And there are probably a few other notable things as well.

But I just took another look to see what has been written for the other bindings, and that was not that much :D So I'm not sure if you can use my suggestions from above at all.

The only thing that comes close to PyQt's and PySide's docs, tutorials and such. Is probably the slack channel: https://gophers.slack.com/messages/qt-binding/details But even I just visit it infrequently.

Also thanks for the name suggestions. But I'm not really sure if I want to attach a "Go" suffix or prefix at all to it.

Is there a specific list? Yes, you can find one here: https://github.com/therecipe/qt/blob/8ca9dc8f59110a659dabdef0201eaeb74f49efc1/internal/binding/parser/helper.go#L257-L311

And another one would be the list of folders at the root of the repo: https://github.com/therecipe/qt Each folder (beside "cmd" and "internal") is a Qt module.

therecipe avatar Jul 28 '17 16:07 therecipe

Thanks a lot, that helps me further.

ShalokShalom avatar Jul 29 '17 06:07 ShalokShalom

Well, since qt is pronounced kyu-tee, what about :

  • gokyu
  • goqu
  • goku

@masiulaniec I think it's fine if package's name is not self-describing, simply because number of vocabulary is limited while number of libraries or packages will keep growing. Even in Go community there are many packages whose name doesn't describing himself, like gin, martini, cockroach, hugo, etc.

RadhiFadlillah avatar Jul 29 '17 15:07 RadhiFadlillah

This repo suggests to name it therecipe-qt: https://github.com/wzwmzm/therecipe-qt/commits/master ;)

ShalokShalom avatar Jul 29 '17 16:07 ShalokShalom

@RadhiFadlillah Also thanks for the name suggestions :) But I'm not really sure, I'm not really a fan of "go" prefixes or suffixes to be honest.

therecipe avatar Aug 01 '17 21:08 therecipe

Goqu is already taken by sql builder.

Huholoman avatar Aug 03 '17 09:08 Huholoman

It might be nice to offer a template for the Qt Creator:

screenshot_20170831_125104

ShalokShalom avatar Aug 31 '17 10:08 ShalokShalom

@ShalokShalom Yepp that would be nice, and I think it's also already in the works: https://github.com/gotschmarcel/qtcreator-go But I haven't really looked into that yet.

therecipe avatar Sep 04 '17 21:09 therecipe

If it has to be renamed, I'd go for cute; as that is both memorable and roughly how I would pronounce qt.

mewmew avatar Sep 10 '17 19:09 mewmew

@therecipe Since you're stuck when trying to decide on the name, why don't we just do a vote thing and be done with it? As long as the end result isn't horrible that'd "get it done" so there's one less thing taking up potential thinking time. :smile:

justinclift avatar Jan 21 '18 02:01 justinclift

Go + Qt = Goat ^-^

ShalokShalom avatar Jan 29 '18 17:01 ShalokShalom

  • QtAndGo
  • QG
  • QGo
  • Go2Qt
  • Go4Qt
  • Qpher (Qt+Gopher)
  • Qter

amitdo avatar Feb 07 '18 17:02 amitdo

Qopher sounds nice too

ShalokShalom avatar Feb 08 '18 23:02 ShalokShalom

I second "Qopher". "Quza" is another option (refering to how Mexicans refer to Gophers, "Tuza").

sebnarvaez avatar Jul 21 '18 23:07 sebnarvaez

qtee (pronounced cutie) gott (play on German word Gott, which mean's god in English. go stands for go, and tt stands for trolltech, which used to be the name of the company that developed Qt, tt is so to speak the god (creator) of Qt)

tobimensch avatar Nov 11 '18 10:11 tobimensch

  • widGots (widgets + Go)
  • cuteWidGots
  • (Qt) widGet toOlkit (could be mixed in a logo)
  • Quasar TechnolOGies (from the original library name ethymology)
  • QGopher
  • QB4G or GB4Go (Qt Bindings for Go)
  • QW4G or GW4Go (Qt Wrappers for Go)
  • Goatee ("Go" + "cutie"), a style of facial hair incorporating hair on a man's chin but not his cheeks

paboum avatar Oct 28 '19 13:10 paboum

GoQt like pyqt

ilovesusu avatar Nov 28 '19 03:11 ilovesusu

GoQt is already in use

ShalokShalom avatar Nov 30 '19 16:11 ShalokShalom

QGoatee

uvatbc avatar Apr 15 '20 14:04 uvatbc

goside like pyside

nyiyui avatar Apr 30 '20 00:04 nyiyui

CuteWalk ot QuteWalk

tox2ik avatar Dec 01 '20 23:12 tox2ik

Qt for Go (similar to the official Python bindings).

brenthuisman avatar Jan 02 '21 13:01 brenthuisman