O'Reilly logo

Mastering Perl/Tk by Nancy Walsh, Stephen Lidie

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required