Creating and Using a Text Widget
To create a Text widget, use the Text
method from
the desired parent widget:
$text = $parent->Text( [ options ...
] )->pack;
After the Text widget is created, there
are several different ways to place text in it. The user can type
directly into it, or you can use the insert
method:
$text->insert('end', "To be or not to be...\nThat is the question");
The basic form of the insert
method takes two
arguments: an index value that indicates where to start placing the
text, followed by the string to insert. For complete details on the
insert
method and how to insert multiple strings
at the same time, see Section 8.6
later in this chapter.
A typical use of the Text widget is to read a file and place it in the Text widget as it’s read:
$text = $mw->Scrolled("Text")->pack( ); open (FH, "chapter1") || die "Could not open chapter1"; while (<FH>) { $text->insert('end', $_); } close(FH);
You can use the Text widget to display
the file backward (line by line) by changing the insert line to
$text->insert(0, $_)
. This
will put the next line read at the top of the Text widget instead of
at the end.
The Text widget can do a lot more than just display a file or two lines from a Shakespearean play. In addition to options, we also have tags, indexes, and marks to control how the contents of a Text widget are displayed.
Get Mastering Perl/Tk now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.