Qt

Difference between version 48 and 49 - Previous - Next
[[...]]


What is Qt?  I think it is a [GUI] library - anyone have more info?  What makes it a good match for [Tcl] - or at least, of interest (other than academic)?

Latest versions of [Tile] provides a Qt-based [theme]

[Ralf Fassel] - The homepage of Qt is at http://www.trolltech.com

[TS] - An Intro to Qt 3.0 from Cameron Laird
http://linux.oreillynet.com/pub/a/linux/2001/11/16/Qt.html

With Qt 4, the story changes again; Qt 4 distinguishes both GUI
and "console" functionality, so that, in fact, Qt 4 now makes a
nice convenience library for [C++] programmers writing command-line
applications.  [[provide hyperlinks at some point]]

[LV] Hey, if you see a reference to Qt 3.3.8 being released on the trolltech web site,
don't be confused like some of us :-( ... that's the last maintenance release on
a product line that apparently is going away this year. The latest version of Qt appears to be
in the 4.1.x range...

[NEM] - Qt is the library used by [KDE] applications isn't it?
[CL] answers:  yes and no.  KDE itself is constructed with Qt;
that's true.  It's possible to launch an application made with
any X toolkit from KDE, though, so what people ''think'' are 
"KDE applications" might only be X applications.

[George Petasis] observes that "Under Qt, the programmer can
control only a few aspects of how the widget looks. The vast majority
of the appearance of the widget is determined by the theme."
Also surprising, from a [Tk] programmer's perspective, is that an
image and a label can''not'' simultaneously decorate a button.

[JH] notes that George is incorrect above.  That is a feature of Tk 8.4,
added in May, 2000.  People need to really keep up with Tk advances, as
it is moving forward just like all the rest.

CJL - I think 'JH' has misinterpreted George's statement. He (George) is saying that a Tk programmer (who is used to being able to mix labels and images) would be surprised that it can't (or couldn't) be done in Qt.

George has prototyped a [TkQt] at
[ftp://www.iit.demokritos.gr/pub/skel/petasis/tcl/TkQt.tar.gz].
An alternate URL for the same file is
[http://www.iit.demokritos.gr/~petasis/Tcl/TkQt.tar.gz].
Also, [Ktk] worked in a similar direction [[true?]].

----
Despite explicit discouragement from [jcw], Bill Saunder
remarkably used [Critcl] to script a successful model Qt
application with a functional button.  That's [pure-Tcl]
(once one assumes Critcl).  Impressive!
http://groups.google.de/groups?th=b2a1ba41312c9ae5
----
[CL] collects more Qt references at http://phaseit.net/claird/comp.windows.misc/Qt.html .
----

[TS] - It seems that a Qt binding already exists, but it's not yet available...
http://groups.google.de/groups?selm=5e97e053.0305200357.2f4ac182%40posting.google.com

 Dmitry Mironov (dmmiet(AT)hotmail.com):
 
 > ... regarding control of Qt from Tcl - it took
 > three or so weeks for me to make a complete Tcl toolkit,
 > allowing to dynamically build Qt GUI from Tcl console, ...
 > Cross-platform (visit http://www.dmitrymironov.com/projects.htm)
 >
 > I am thinking to make it public domain, because it still has
 > some garbage in it and, as usual, short of time, need to make a living.-




More from Mr. Mironov appears at
http://www.dmitrymironov.com/qt_tcl_under_gpl.htm


http://sourceforge.net/projects/tcl-qt
Use [[info commands Q*]] to list the new ones.

An additional qt binding (relatively recent, November 2005):
http://sourceforge.net/projects/qtcl/



----
Tq[https://www.froglogic.com/productsq/]
is a remarkable-looking commercial product
which bridges the Qt and Tk worlds 
in at least a couple of distinct ways.

----

[Houssem BDIOUI] - I made a Qt widget (QTextEdit-based) that emulates a Tcl console => QTclConsole
Any one interested can email at : houssem dot bdioui at gmail dot com

It has many features : basically the ones of QTextEdit + redirection of stdout/stderr +
colorized result (red, blue) + customization of the prompt + support of any Tcl command
(custom ones defined through Tcl_Interp as well) + history + ...

I'm also thinking of providing a whole QTcl package.

Come on! Noone interested?

The whole project is now under:
http://sourceforge.net/projects/qconsole

In fact, the console is now reeingeneered to support any scripted language (by inheritance).
Tcl is just a specialization.

----
[LV] It sounds like it would be useful to have available.  However, I'm using a GNOME desktop, and am not in a situation where experimenting with Qt is possible.  If my situation changes so that I have more disgression, then I'd 
be interested in exploring the option.

----
[CAU] I own a [Zaurus] SL-5500, have done for a while.  The Z runs a version of [Qt] under which all applications run.  It really would be a boon to write apps with a GUI in Tcl.  As it is, Tk is not supported on the Z and I haven't come across a way of using Qt direct from Tcl.  Why has this been possible with Python but not with Tcl?

Anyone fancy the challenge?

----

[Houssem BDIOUI] - A new QConsole version (v1.1) has been released under
http://sourceforge.net/projects/qconsole

It has the following Changes:

- commandsManager class:
  * The getInstance() method can take an already created Tcl_Interp parameter
  * removed the registerCommand() method
  * New unregisterFunction()
  * New set of registerVariable() methods to register C++ vars as Tcl ones
  * Added support for "help messages" for functions and methods (accessible
    through the new 'help' command)
- QConsole:
  * Fixed a bug previously allowing inserting text outside of the
    edition zone: Bug that can happen when holding the mouse button
    pressed outside the edition zone and typing something
  * Possibility to select words outside of the edition zone using double clicks
  * Overridden paste() removed : handled by the previous bug fix
  * Disabled the popup menu
  * New public execCommand(QString) method that executes a Tcl command
    and dislpays back its result in the console
  * New saveScript() method that saves succeeded commands to a file
  * New completeCommand() method that gives suggestions to complete the current command
- QtclConsole:
  * Redesigned into a singleton pattern
  * Implemented completeCommand() based on [ info commands ]
  * New Tcl saveScript command
- New TclCallBack class that allows registring/unregistring  C++ methods as Tcl Callbacks:
  * Used for SetPrompt() and ShowHistory() in QtclConsole

Feedbacks are welcome on : houssem dot bdioui at gmail dot com :)
----
http://jefftrull.github.io/eda/qt/tcl/eventloop/2012/05/25/integrating-qt-tcl-event-loops.html%|%Integrating Qt and Tcl event loops%|%

<<categories>> GUI