| PyGTK Tutorial | ||
|---|---|---|
| <<< Previous | Next >>> | |
The text widget supports full cut-and-paste facilities, including the use of double- and triple-click to select a word and a whole line, respectively.
text = GtkText(hadj, vadj) |
The arguments are Adjustments that can
be used to track the viewing position of the widget. Passing None values
to both of these arguments (or passing nothing) will cause the GtkText()
function to create its own.
text.set_adjustments(hadj, vadj) |
The above method allows the horizontal and vertical adjustments of a text widget to be changed at any time.
The text widget will not automatically
create its own scrollbars when the amount of text to be displayed is too
long for the display window. We therefore have to create and add them to
the display layout ourselves.
vscrollbar = GtkVScrollbar(text.get_vadjustment()) hbox.pack_start(vscrollbar, FALSE, FALSE, 0) vscrollbar.show() |
The above code snippet creates a new vertical scrollbar, and attaches it to the vertical adjustment of the text widget, text. It then packs it into a box in the normal way.
Note, currently the Text widget does not support horizontal scrollbars.
There are two main ways in which a Text
widget can be used: to allow the user to edit a body of text, or to allow
us to display multiple lines of text to the user. In order for us to switch
between these modes of operation, the text widget has the following method:
text.set_editable(editable) |
The editable argument is a TRUE or FALSE value that specifies whether the user is permitted to edit the contents of the Text widget. When the text widget is editable, it will display a cursor at the current insertion point.
You are not, however, restricted to just using the text widget in these two modes. You can toggle the editable state of the text widget at any time, and can insert text at any time.
The text widget wraps lines of text that
are too long to fit onto a single line of the display window. Its default
behaviour is to break words across line breaks. This can be changed using
the next method:
text.set_word_wrap(word_wrap) |
Using this method allows us to specify that the text widget should wrap long lines on word boundaries. The word_wrap argument is a TRUE or FALSE value.
| <<< Previous | Home | Next >>> |
| Item Factory Example | Text Manipulation |