
At a Glance
770 Pages
23 x 17.5 x 5
Paperback
RRP $95.00
$43.25
54%OFF
or 4 interest-free payments of $10.81 with
orWhen will this arrive by?
Perl/Tk is the marriage of the Tk graphical toolkit with Perl, the powerful programming language used primarily for system administration, Web programming, and database manipulation. With this text you should be able to build Perl programs with an attractive, intuitive GUI interface with all the power of Perl behind it. The first half of the book contains the basics on how to use Perl/Tk, and then branches out into advanced applications with a series of extensive program examples. The book includes: an introduction to each of the basic Perl/Tk widgets and geometry managers; a dissection of the mainloop, including how to use callbacks and bindings effectively; coverage of the Tix widgets, an extended set of widgets that are a part of the standard Perl/Tk distribution; working with images in Perl/Tk, including bitmaps, pixmaps, photos, and how to compose a compound image type; how to create custom mega-widgets in Perl/Tk, both composite and derived; handling interprocess communication with Perl/Tk, both with standard Unix utilities (pipes and sockets) and with the send command designed for direct communication between Tk applications; developing your own Tk widget in the C language; and examples of Web applications written with Perl/Tk and the LWP library. The book also features an appendices on installing Perl/Tk, a complete quick-reference for each standard widget, and listings of all the extended examples in the book.
Preface | p. xiii |
Hello, Perl/Tk | p. 1 |
Perl/Tk Concepts | p. 2 |
Some Perl/Tk History | p. 2 |
Getting Started with Perl/Tk | p. 6 |
Hello World Example | p. 12 |
Unsolicited Advice | p. 13 |
Debugging and Prototyping Perl/Tk Programs | p. 16 |
Geometry Management | p. 19 |
The pack Geometry Manager | p. 20 |
The grid Geometry Manager | p. 41 |
The place Geometry Manager | p. 54 |
The form Geometry Manager | p. 61 |
Geometry Management Summary | p. 70 |
Fonts | p. 71 |
Experimenting with Fonts | p. 71 |
Dissecting a Font | p. 73 |
Using Fonts | p. 74 |
Using Fonts Dynamically | p. 76 |
Font Manipulation Methods | p. 77 |
Button, Checkbutton, and Radiobutton Widgets | p. 81 |
Creating Button Widgets | p. 83 |
Standard Options for Each Button Type | p. 83 |
Table of Options for Button-Type Widgets | p. 84 |
Displaying Text on Buttons | p. 87 |
Displaying an Image or Bitmap | p. 88 |
Checkbutton and Radiobutton Indicator Status | p. 90 |
On and Off Values for a Checkbutton | p. 92 |
Radiobutton Values | p. 92 |
The -command Option | p. 93 |
Disabling a Button | p. 95 |
Text Manipulation | p. 97 |
Altering the Button's Style | p. 99 |
Changing the Size of a Button | p. 101 |
Adding a Keyboard Mapping | p. 103 |
Color Options | p. 104 |
Indicator Colors | p. 106 |
Hiding the Indicator | p. 106 |
Focus Options | p. 107 |
Altering the Highlight Rectangle | p. 107 |
Configuring a Button | p. 108 |
Flashing the Button | p. 109 |
Invoking the Button | p. 110 |
Turning a Checkbutton/Radiobutton On and Off | p. 110 |
Label and Entry Widgets | p. 111 |
The Label Widget | p. 111 |
The Entry Widget | p. 117 |
The Perl/Tk LabEntry Mega-Widget | p. 132 |
The Scrollbar Widget | p. 133 |
Defining Scrollbar Parts | p. 133 |
The Scrolled Method | p. 135 |
The Scrollbar Widget | p. 137 |
Examples | p. 145 |
The Listbox Widget | p. 149 |
Creating and Filling a Listbox | p. 150 |
Listbox Options | p. 150 |
Selection Modes | p. 152 |
Colors | p. 153 |
Listbox Style | p. 153 |
Configuring a Listbox | p. 154 |
Inserting Items | p. 155 |
Deleting Items | p. 155 |
Retrieving Elements | p. 156 |
Selection Methods | p. 156 |
Moving to a Specific Index | p. 157 |
Translating Indexes | p. 158 |
Counting Items | p. 158 |
Active Versus Selected | p. 158 |
Bounding Box | p. 158 |
Finding an Index by y Coordinate | p. 159 |
Scrolling Methods | p. 159 |
Listbox Virtual Events | p. 159 |
Listbox Example | p. 160 |
The Text, TextUndo, and ROText Widgets | p. 162 |
Creating and Using a Text Widget | p. 162 |
Text Widget Options | p. 163 |
A Short Break for a Simple Example | p. 168 |
Text Indexes | p. 169 |
Text Tags | p. 171 |
Inserting Text | p. 179 |
Deleting Text | p. 180 |
Retrieving Text | p. 181 |
Translating Index Values | p. 181 |
Comparing Index Values | p. 181 |
Showing an Index | p. 182 |
Getting the Size of a Character | p. 182 |
Getting Line Information | p. 182 |
Searching the Contents of a Text Widget | p. 182 |
Scrolling | p. 183 |
Marks | p. 183 |
Embedding Widgets | p. 185 |
Internal Debug Flag | p. 187 |
The Perl/Tk Text Widget Extended Methods | p. 188 |
The TextUndo Widget | p. 191 |
The ROText Widget | p. 193 |
The Canvas Widget | p. 194 |
Creating a Canvas | p. 194 |
The Canvas Coordinate System | p. 195 |
The Scrollable Region | p. 196 |
Using bind with a Canvas | p. 196 |
Canvas Options | p. 197 |
Creating Items in a Canvas | p. 201 |
Configuring the Canvas Widget | p. 213 |
Configuring Items in the Canvas Widget | p. 213 |
Tags | p. 214 |
Retrieving Bounding Box Coordinates | p. 216 |
Translating Coordinates | p. 217 |
Moving Items Around | p. 217 |
Changing the Display List | p. 218 |
Deleting Items | p. 218 |
Deleting Tags | p. 218 |
Determining Item Type | p. 219 |
Setting Keyboard Focus | p. 219 |
Rendering the Canvas as PostScript | p. 219 |
Scaling the Canvas | p. 220 |
Scanning | p. 221 |
A Drawing Program Example | p. 221 |
The Scale Widget | p. 224 |
Creating a Scale | p. 224 |
Assigning a Callback | p. 227 |
Orientation | p. 227 |
Minimum and Maximum Values | p. 227 |
Displayed Versus Stored Value | p. 227 |
Adding a Label | p. 228 |
Displaying Value Increments | p. 228 |
Changing the Size of the Scale | p. 229 |
Options You'll Probably Never Need | p. 229 |
Configuring a Scale | p. 229 |
Getting the Value of a Scale | p. 230 |
Setting the Value of a Scale | p. 230 |
Determining Coordinates | p. 230 |
Identifying Parts of a Scale | p. 230 |
Frame, MainWindow, and Toplevel Widgets | p. 231 |
Creating a Frame | p. 232 |
Creating a Toplevel Widget | p. 233 |
Options | p. 233 |
Frame Methods | p. 238 |
Toplevel Methods | p. 238 |
Creating Multiple Main Windows | p. 247 |
Putting Two Main Windows to Work | p. 249 |
The Menu System | p. 253 |
Menu System Components | p. 253 |
Menubars and Pulldown Menus | p. 259 |
The Win32 System Menu Item | p. 266 |
Classical Menubars | p. 266 |
Popup Menus | p. 270 |
Option Menus | p. 275 |
Menu Virtual Events | p. 279 |
Pie Menus | p. 279 |
Miscellaneous Perl/Tk Methods | p. 284 |
Managing Widgets with configure and cget | p. 284 |
Building a Family Tree | p. 287 |
Widget's ID | p. 288 |
Color-Related Methods | p. 289 |
The Application's Name | p. 290 |
Widget Existence | p. 290 |
Is the Widget Mapped? | p. 291 |
Converting Screen Distances | p. 291 |
Size of Widget | p. 291 |
Widget Position | p. 292 |
Screen Information | p. 294 |
Atom Methods | p. 296 |
Ringing a Bell | p. 296 |
Clipboard and Selection Methods | p. 296 |
Destroying a Widget | p. 299 |
Focus Methods | p. 299 |
Grab Methods | p. 302 |
Marking a Widget Busy and Unbusy | p. 302 |
Widget Mapping and Layering | p. 303 |
Interapplication Communication | p. 304 |
Waiting for Events to Happen | p. 304 |
Time Delays | p. 305 |
Parsing Command-Line Options | p. 306 |
Really Miscellaneous Methods | p. 306 |
Creating Custom Widgets in Pure Perl/Tk | p. 308 |
A Mega-Widget Quick-Start | p. 308 |
The Perl/Tk Class Hierarchy | p. 316 |
Mega-Widget Implementation Details | p. 319 |
Composite Mega-Widgets | p. 330 |
Derived Mega-Widgets | p. 335 |
Packaging a Mega-Widget for Public Distribution | p. 351 |
Anatomy of the MainLoop | p. 356 |
Creating a Callback | p. 358 |
Binding to Events | p. 361 |
The bindtags Command | p. 372 |
Executing Nonblocking System Commands | p. 378 |
Tracing Perl/Tk Variables | p. 388 |
Nonblocking Wait Activities | p. 391 |
Splash Screens | p. 394 |
Synthesizing Virtual Events | p. 399 |
Coexisting with Other GUI Main Loops | p. 401 |
User Customization | p. 406 |
Using the Command Line | p. 407 |
Using the Option Database | p. 410 |
Images and Animations | p. 417 |
An Overview of Perl/Tk Image Types | p. 417 |
Methods Common to All Image Types | p. 419 |
Bitmap Primitives | p. 420 |
DefineBitmap | p. 422 |
The Bitmap Image Type | p. 422 |
The Pixmap Image Type | p. 426 |
The Photo Image Type | p. 427 |
The Compound Image Type | p. 439 |
Tk::Animation | p. 440 |
tkneko--Animating the Neko on a Canvas | p. 441 |
Tile and Transparent Images | p. 444 |
Miscellaneous Image Methods | p. 447 |
Simple Photo Rotations | p. 447 |
A Tk Interface Extension Tour | p. 451 |
Display Items | p. 452 |
Item Styles | p. 454 |
The TList Widget | p. 457 |
The HList Family of Widgets | p. 459 |
Tix Images | p. 471 |
Interprocess Communication with Pipes and Sockets | p. 472 |
Handling Unsolicited Media Changes | p. 473 |
IPADM Design Considerations | p. 476 |
The Perl/Tk IPADM Client, ipadm | p. 478 |
The IPADM Helper, ipadmh | p. 486 |
The IPADM Daemon, ipadmd | p. 487 |
Polling Win32 Sockets | p. 492 |
IPC with send | p. 494 |
Security and Inter-Language Considerations | p. 494 |
Computing [pi] with Parallel Message Passing | p. 497 |
TclRobots | p. 503 |
C Widget Internals | p. 510 |
The Tk::Square Widget | p. 510 |
Interfacing tkSquare.c with Perl/Tk | p. 523 |
Building and Testing Tk::Square | p. 528 |
How Not to Port Tk::Square | p. 529 |
Perl/Tk and the Web | p. 531 |
Library for WWW Access in Perl | p. 531 |
The PerlPlus Browser Plug-in | p. 554 |
Plethora of pTk Potpourri | p. 558 |
pTk Special Variables and Exporter Symbols | p. 558 |
Manipulating the Cursor | p. 560 |
Dialog Boxes | p. 563 |
The Adjuster Widget | p. 569 |
The Balloon Widget | p. 571 |
The BrowseEntry Widget | p. 572 |
The LabFrame Widget | p. 575 |
The NoteBook Widget | p. 576 |
The Pane Widget | p. 580 |
The ProgressBar Widget | p. 581 |
Widgets Not in the Perl/Tk Distribution | p. 583 |
Installing Perl/Tk | p. 585 |
Options and Default Values for Each Widget | p. 587 |
Complete Program Listings | p. 646 |
Index | p. 717 |
Table of Contents provided by Syndetics. All Rights Reserved. |
ISBN: 9781565927162
ISBN-10: 1565927168
Series: O'Reilly Ser.
Published: 24th January 2002
Format: Paperback
Language: English
Number of Pages: 770
Audience: Professional and Scholarly
Publisher: O'Reilly Media, Inc, USA
Country of Publication: US
Edition Number: 2
Dimensions (cm): 23 x 17.5 x 5
Weight (kg): 1.35
Shipping
Standard Shipping | Express Shipping | |
---|---|---|
Metro postcodes: | $9.99 | $14.95 |
Regional postcodes: | $9.99 | $14.95 |
Rural postcodes: | $9.99 | $14.95 |
How to return your order
At Booktopia, we offer hassle-free returns in accordance with our returns policy. If you wish to return an item, please get in touch with Booktopia Customer Care.
Additional postage charges may be applicable.
Defective items
If there is a problem with any of the items received for your order then the Booktopia Customer Care team is ready to assist you.
For more info please visit our Help Centre.
You Can Find This Book In

Intro to Python for Computer Science and Data Science
Learning to Program with AI, Big Data and The Cloud, Global Edition
Paperback
RRP $153.95
$123.25
OFF

Learn Python 3 the Hard Way
A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code
Paperback
RRP $60.95
$45.80
OFF
![Introduction to Java Programming and Data Structures, Comprehensive Version [Global Edition] : 12th Edition - Y. Liang](https://www.booktopia.com.au/covers/200/9781292402079/3378/introduction-to-java-programming-and-data-structures-comprehensive-version-global-edition-.jpg)
Introduction to Java Programming and Data Structures, Comprehensive Version [Global Edition]
12th Edition
Paperback
RRP $134.95
$109.25
OFF
This product is categorised by
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentGraphics Programming
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentWeb Programming
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentSoftware Engineering
- Non-FictionComputing & I.T.Computer HardwareUtilities & Tools
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentProgramming & Scripting Languages