Qt

[...]

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 cannot 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 [L1 ]. An alternate URL for the same file is [L2 ]. 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 [L3 ] 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 :)


Integrating Qt and Tcl event loops