Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This script creates a button, with the text "Hello world!" inside a window. When you click this button a information window will pop up, saying "Hello World!" and displaying a OK button.


Panel
borderColor#404040
bgColor#F0F0F0
borderWidth1
titleStart a new script
borderStyledashed
  • Click File > New > Text Editor

This will create a new empty text editor where the graphics window used to be.

...

No Format
borderColor#404040
bgColor#F0F0F0
borderWidth1
titleCreate a toplevel window
borderStyledashed

set w [qwidget ]

A window in QTcl is an instance of a QWidget object, hence the command name. It may be followed by a list of flags. Although rarely used, the flags can be used to modify the widgets look and behaviour. The next statement tells QTcl to delete the widget from memory when it is closed:

No Format
borderColor#404040
bgColor#F0F0F0
borderWidth1
titleSet widget to be deleted from memory when closed
borderStyledashed


qsetattribute deleteonclose

...

No Format
borderColor#404040
bgColor#F0F0F0
borderWidth1
titleSet window title to "Hello"
borderStyledashed


qsetwindowtitle "Hello"

The qsetwindowtitle command sets the window title. While there may be several windows available, QTcl will simply apply the command to the most recently created widget, which in this case is the QWidget window. The most recently created widget is also the so-called current widget. It does not matter whether the widget is visible or not. This is in fact how most Qt commands work.

...

No Format
borderColor#404040
bgColor#F0F0F0
borderWidth1
titleCreate a layout
borderStyledashed


qvboxlayout {
	
}

The qvboxlayout command creates a layout manager for the window. A layout manager is also known as a geometry manager. The task of the layout manager is to arrange the widgets in a particular order. For instance, the QVBoxLayout layout manager stacks widgets vertically in their order of creation. There are two other layout managers in QTcl:

...

No Format
borderColor#404040
bgColor#F0F0F0
borderWidth1
titleCreate a push button
borderStyledashed


qpushbutton "Hello world!"

...

No Format
borderColor#404040
bgColor#F0F0F0
borderWidth1
titleAdd an executing command to the button
borderStyledashed


qinformation Information "Hello world!"

...

No Format
borderColor#404040
bgColor#F0F0F0
borderWidth1
titleAdd an executing command to the button
borderStyledashed


qshow $w

QTcl will then draw the most recently created widget, or current widget, on to the screen. In this case the current widget is the window, which is then displayed along with its contents.

...