Mastering Perl/Tk. Graphical User Interfaces in Perl

- Autorzy:
- Stephen Lidie, Nancy Walsh
- Promocja Przejdź


- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 770
- Dostępne formaty:
-
ePubMobi
Opis książki: Mastering Perl/Tk. Graphical User Interfaces in Perl
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 Perl/Tk, you can build Perl programs with an attractive, intuitive GUI interface with all the power of Perl behind it.Mastering Perl/Tk is the "bible" of Perl/Tk: It's not only a great book for getting started, but the best reference for learning the techniques of experienced Perl/Tk programmers. 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 result is a book accessible for novices, and invaluable for experienced programmers ready to learn the next step in the elegant and effective use of Perl/Tk. 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
- Examples of web applications written with Perl/Tk and the LWP library
Wybrane bestsellery
-
If you're just getting started with Perl, this is the book you want—whether you're a programmer, system administrator, or web hacker. Nicknamed "the Llama" by two generations of users, this best seller closely follows the popular introductory Perl course taught by the authors since 1991. Th...(0,00 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł(-15%) -
Get to grips with building robust XGBoost models using Python and scikit-learn for deploymentKey FeaturesGet up and running with machine learning and understand how to boost models with XGBoost in no timeBuild real-world machine learning pipelines and fine-tune hyperparameters to achieve optimal ...
Hands-On Gradient Boosting with XGBoost and scikit-learn Hands-On Gradient Boosting with XGBoost and scikit-learn
-
f you’re ready to get started with Raku (formerly Perl 6), this is the book you want, whether you’re a programmer, system administrator, or web hacker. Raku is a new language—a modern reinvention of Perl suitable for almost any task, from short fixes to complete web applications...
Learning Perl 6. Keeping the Easy, Hard, and Impossible Within Reach Learning Perl 6. Keeping the Easy, Hard, and Impossible Within Reach
(0,00 zł najniższa cena z 30 dni)203.15 zł
239.00 zł(-15%) -
Learn Perl 6 effortlessly to solve everyday problemsAbout This BookFilled with practical examples, this comprehensive guide explores all aspects of Perl 6.Leverage the power of Perl 6 concurrency to develop responsive and high-performant software.Delves into various programming paradigms (such as...
-
Want to learn how to program and think like a computer scientist? This practical guide gets you started on your programming journey with the help of Perl 6, the younger sister of the popular Perl programming language. Ideal for beginners, this hands-on book includes over 100 exercises with multip...
Think Perl 6. How to Think Like a Computer Scientist Think Perl 6. How to Think Like a Computer Scientist
(0,00 zł najniższa cena z 30 dni)203.15 zł
239.00 zł(-15%) -
Many programmers would love to use Perl for projects that involve heavy lifting, but miss the many traditional algorithms that textbooks teach for other languages. Computer scientists have identified many techniques that a wide range of programs need, such as:Fuzzy pattern matching for text (id...
Mastering Algorithms with Perl. Practical Programming Through Computer Science Mastering Algorithms with Perl. Practical Programming Through Computer Science
(0,00 zł najniższa cena z 30 dni)126.65 zł
149.00 zł(-15%) -
Take the next step toward Perl mastery with advanced concepts that make coding easier, maintenance simpler, and execution faster. Mastering Perl isn't a collection of clever tricks, but a way of thinking about Perl programming for solving debugging, configuration, and many other real-world proble...(0,00 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
Perl. Mistrzostwo w programowaniu" to wyjątkowa książka pomagająca w samodzielnej nauce, przeznaczona dla programistów, którzy używali już Perla i znają jego podstawy. Podążając za radami z tego przewodnika, nauczysz się definiować procedury i odwracać zwykły model programowania proceduralnego. B...(0,00 zł najniższa cena z 30 dni)
22.00 zł
44.00 zł(-50%) -
Dzięki książce odkryjesz mało znane i mniej typowe zastosowania tego języka. Czytając ją, dowiesz się, w jaki sposób wykorzystać Perl do różnych zadań.(0,00 zł najniższa cena z 30 dni)
19.50 zł
39.00 zł(-50%)
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- ISBN Ebooka:
- 978-05-965-5196-4, 9780596551964
- Data wydania ebooka:
-
2002-01-25
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 3.2MB
- Rozmiar pliku Mobi:
- 3.2MB
Spis treści książki
- Mastering Perl/Tk
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Preface
- History of This Book
- What You Should Already Know
- Whats in This Book
- Reading Order
- Typographical Conventions
- We'd Like to Hear from You
- Acknowledgments
- Steve
- Nancy
- 1. Hello, Perl/Tk
- 1.1. Perl/Tk Concepts
- 1.2. Some Perl/Tk History
- 1.2.1. The X Window System and Xlib
- 1.2.2. The Coming of Tcl/Tk
- 1.2.3. The Evolution of Perl/Tk
- 1.2.4. Perl/Tk Meets Win32
- 1.3. Getting Started with Perl/Tk
- 1.3.1. Do You Need To Install Anything?
- 1.3.2. Creating Widgets
- 1.3.3. Specifying Options
- 1.3.4. Toplevel, MainWindow, and Frame Widgets
- 1.3.5. Displaying a Widget
- 1.3.6. The Event Loop
- 1.4. Hello World Example
- 1.4.1. exit Versus destroy
- 1.5. Unsolicited Advice
- 1.5.1. Programming Style
- 1.5.2. Naming Conventions for Widget Types
- 1.5.3. Designing Your Windows
- 1.6. Debugging and PrototypingPerl/Tk Programs
- 2. Geometry Management
- 2.1. The pack Geometry Manager
- 2.1.1. Options for pack
- 2.1.2. Positioning Widgets
- 2.1.3. Allocation Rectangles
- 2.1.4. Filling the Allocation Rectangle
- 2.1.5. Expanding the Allocation Rectangle
- 2.1.6. Anchoring a Widget in Its Allocation Rectangle
- 2.1.7. Widget Order in the Window
- 2.1.8. Padding the Size of the Widget
- 2.1.8.1. Valid screen distances
- 2.1.9. Displaying in a Parent Other Than Your Own
- 2.1.10. Methods Associated with pack
- 2.1.10.1. Unpacking a widget
- 2.1.10.2. Retrieving pack information
- 2.1.10.3. Disabling and enabling automatic resizing
- 2.1.10.4. Listing widgets
- 2.1. The pack Geometry Manager
- 2.1.11. Demo Programs for pack
- 2.2. The grid Geometry Manager
- 2.2.1. Special Characters
- 2.2.1.1. Spanning columns
- 2.2.1.2. Empty cells
- 2.2.1. Special Characters
- 2.2.2. grid Options
- 2.2.3. Specifying Rows and Columns Explicitly
- 2.2.4. Spanning Rows and Columns Explicitly
- 2.2.5. Forcing a Widget to Fill a Cell
- 2.2.6. Padding the Widget
- 2.2.7. Specifying a Different Parent
- 2.2.8. Configuring Columns and Rows
- 2.2.8.1. Weight
- 2.2.8.2. Minimum cell size
- 2.2.8.3. Padding
- 2.2.8.4. Bounding box
- 2.2.9. Removing a Widget
- 2.2.10. Getting Information
- 2.2.11. Widget Location
- 2.2.11.1. Propagation
- 2.2.12. How Many Columns and Rows?
- 2.2.13. gridSlaves
- 2.3. The place Geometry Manager
- 2.3.1. place Options
- 2.3.2. Absolute Coordinates
- 2.3.3. Relative Coordinates
- 2.3.4. Anchoring the Widget
- 2.3.5. Width and Height
- 2.3.6. Border Options
- 2.3.7. Methods Associated with place
- 2.3.7.1. Removing the widget
- 2.3.7.2. Place information
- 2.3.7.3. Place slaves
- 2.4. The form Geometry Manager
- 2.4.1. Options for form
- 2.4.2. Attachments
- 2.4.2.1. Attaching to the grid
- 2.4.2.2. Widget-to-widget attachments
- 2.4.2.3. Attaching to nothing
- 2.4.3. Springs
- 2.4.4. form Methods
- 2.4.4.1. Changing the grid size
- 2.4.4.2. Removing a widget from a container
- 2.4.4.3. Options info for form
- 2.4.4.4. What's managed by form?
- 2.4.4.5. Circular dependency check
- 2.5. Geometry Management Summary
- 3. Fonts
- 3.1. Experimenting with Fonts
- 3.2. Dissecting a Font
- 3.3. Using Fonts
- 3.3.1. System Fonts
- 3.4. Using Fonts Dynamically
- 3.5. Font Manipulation Methods
- 3.5.1. One Last Example
- 4. Button, Checkbutton, and Radiobutton Widgets
- 4.1. Creating Button Widgets
- 4.2. Standard Options for Each Button Type
- 4.3. Table of Options for Button-Type Widgets
- 4.4. Displaying Text on Buttons
- 4.5. Displaying an Image or Bitmap
- 4.5.1. Images with Checkbuttons and Radiobuttons
- 4.6. Checkbutton and Radiobutton Indicator Status
- 4.7. On and Off Values for a Checkbutton
- 4.8. Radiobutton Values
- 4.9. The -command Option
- 4.10. Disabling a Button
- 4.11. Text Manipulation
- 4.12. Altering the Button's Style
- 4.13. Changing the Size of a Button
- 4.14. Adding a Keyboard Mapping
- 4.15. Color Options
- 4.16. Indicator Colors
- 4.17. Hiding the Indicator
- 4.18. Focus Options
- 4.19. Altering the Highlight Rectangle
- 4.20. Configuring a Button
- 4.21. Flashing the Button
- 4.22. Invoking the Button
- 4.23. Turning a Checkbutton/Radiobutton On and Off
- 5. Label and Entry Widgets
- 5.1. The Label Widget
- 5.1.1. Creating a Label
- 5.1.2. Label Options
- 5.1.3. How a Label Differs from Other Widgets
- 5.1.4. Relief
- 5.1.5. Status Message Example
- 5.1.6. Container Frames
- 5.1.7. Label Configuration
- 5.1. The Label Widget
- 5.2. The Entry Widget
- 5.2.1. Creating the Entry Widget
- 5.2.2. Entry Options
- 5.2.3. Assigning the Entry's Contents to a Variable
- 5.2.4. Relief
- 5.2.5. Entry Indexes
- 5.2.6. Text Selection Options
- 5.2.7. The Insert Cursor
- 5.2.8. Password Entries
- 5.2.9. Entry Widget Validation
- 5.2.10. Using a Scrollbar
- 5.2.11. Configuring an Entry Widget
- 5.2.12. Deleting Text
- 5.2.13. Getting the Contents of an Entry Widget
- 5.2.14. Moving the Insertion Cursor
- 5.2.15. Getting a Numeric Index Value
- 5.2.16. Inserting Text
- 5.2.17. Scanning Text
- 5.2.18. Working with the Selection
- 5.2.19. Changing the View in the Entry Widget
- 5.3. The Perl/Tk LabEntry Mega-Widget
- 6. The Scrollbar Widget
- 6.1. Defining Scrollbar Parts
- 6.2. The Scrolled Method
- 6.2.1. Configuring the Scrollbar(s) Created with Scrolled
- 6.3. The Scrollbar Widget
- 6.3.1. Creating a Scrollbar Widget
- 6.3.2. Scrollbar Options
- 6.3.3. Scrollbar Colors
- 6.3.4. Scrollbar Style
- 6.3.5. Scrollbar Orientation
- 6.3.6. Using the Arrows and the Slider
- 6.3.7. Assigning a Callback
- 6.3.8. How the Scrollbar Communicates with Other Widgets
- 6.3.9. Scrollbar Configuration
- 6.3.10. Defining What We Can See
- 6.3.11. Getting the Current View
- 6.3.12. Activating Elements in a Scrollbar
- 6.3.13. Calculating Change from Pixels
- 6.3.14. Locating a Point in the Trough
- 6.3.15. Identifying Elements
- 6.4. Examples
- 6.4.1. Entry Widget
- 6.4.2. Listbox, Text, and Canvas Widgets
- 6.4.3. One Scrollbar, Multiple Widgets
- 7. The Listbox Widget
- 7.1. Creating and Filling a Listbox
- 7.2. Listbox Options
- 7.3. Selection Modes
- 7.3.1. Operating System Differences
- 7.4. Colors
- 7.5. Listbox Style
- 7.5.1. Style of Selected Items
- 7.5.2. Special Listbox Resizing
- 7.6. Configuring a Listbox
- 7.7. Inserting Items
- 7.8. Deleting Items
- 7.9. Retrieving Elements
- 7.10. Selection Methods
- 7.10.1. Selecting Items
- 7.10.2. Unselecting Items
- 7.10.3. Testing for Selection
- 7.10.4. Anchoring the Selection
- 7.11. Moving to a Specific Index
- 7.12. Translating Indexes
- 7.13. Counting Items
- 7.14. Active Versus Selected
- 7.15. Bounding Box
- 7.16. Finding an Index by y Coordinate
- 7.17. Scrolling Methods
- 7.18. Listbox Virtual Events
- 7.19. Listbox Example
- 8. The Text, TextUndo,and ROText Widgets
- 8.1. Creating and Using a Text Widget
- 8.2. Text Widget Options
- 8.2.1. Fonts
- 8.2.2. Widget Size
- 8.2.3. Widget Style
- 8.2.4. Line Spacing
- 8.2.5. Tab Stops
- 8.3. A Short Break for a Simple Example
- 8.4. Text Indexes
- 8.4.1. Base Index Values
- 8.4.2. Index Modifiers
- 8.4.3. Text Index Examples
- 8.5. Text Tags
- 8.5.1. Tag Options
- 8.5.2. A Simple Tag Example
- 8.5.3. Selections in a Text Widget Using the "sel" Tag
- 8.5.4. Configuring and Creating Tags
- 8.5.5. Adding a Tag to Existing Text
- 8.5.6. Using bind with Tags
- 8.5.6.1. The Perl/Tk Text widget extended bindings
- 8.5.7. Deleting All Instances of a Tag
- 8.5.8. Removing a Tag from the Text
- 8.5.9. Raising and Lowering Tags
- 8.5.10. Getting Tag Names
- 8.5.11. Determining Where a Tag Applies
- 8.6. Inserting Text
- 8.6.1. Inserting Lines Using print and printf
- 8.7. Deleting Text
- 8.8. Retrieving Text
- 8.9. Translating Index Values
- 8.10. Comparing Index Values
- 8.11. Showing an Index
- 8.12. Getting the Size of a Character
- 8.13. Getting Line Information
- 8.14. Searching the Contents of a Text Widget
- 8.15. Scrolling
- 8.16. Marks
- 8.16.1. Setting and Getting the Gravity
- 8.16.2. Determining Mark Names
- 8.16.3. Creating and Deleting Marks
- 8.17. Embedding Widgets
- 8.17.1. windowCreate, windowCget, and windowConfigure
- 8.18. Internal Debug Flag
- 8.18.1. Scanning
- 8.19. The Perl/Tk Text Widget Extended Methods
- 8.20. The TextUndo Widget
- 8.20.1. TextUndo Virtual Events
- 8.21. The ROText Widget
- 9. The Canvas Widget
- 9.1. Creating a Canvas
- 9.2. The Canvas Coordinate System
- 9.3. The Scrollable Region
- 9.4. Using bind with a Canvas
- 9.5. Canvas Options
- 9.5.1. Common Canvas Dash, Stipple, and Tile Options
- 9.5.2. Additional Scrolling Options
- 9.5.3. Canvas Widget Option List
- 9.6. Creating Items in a Canvas
- 9.6.1. The Arc Item
- 9.6.2. The Bitmap Item
- 9.6.3. The Image Item
- 9.6.4. The Line Item
- 9.6.5. The Oval Item
- 9.6.6. The Polygon Item
- 9.6.7. The Rectangle Item
- 9.6.8. The Text Item
- 9.6.8.1. Text item indexes
- 9.6.8.2. Deleting characters
- 9.6.8.3. Positioning the cursor
- 9.6.8.4. Index information
- 9.6.8.5. Adding text
- 9.6.8.6. Selecting text
- 9.6.9. The Widget Item
- 9.6.10. The Grid Item
- 9.6.11. The Group Item
- 9.7. Configuring the Canvas Widget
- 9.8. Configuring Items in the Canvas Widget
- 9.9. Tags
- 9.9.1. Binding Items Using Tags
- 9.9.2. Finding Tags
- 9.9.3. Getting Tags from a Specific Item
- 9.10. Retrieving Bounding Box Coordinates
- 9.11. Translating Coordinates
- 9.12. Moving Items Around
- 9.13. Changing the Display List
- 9.14. Deleting Items
- 9.15. Deleting Tags
- 9.16. Determining Item Type
- 9.17. Setting Keyboard Focus
- 9.18. Rendering the Canvas as PostScript
- 9.19. Scaling the Canvas
- 9.20. Scanning
- 9.20.1. Scrolling Methods
- 9.21. A Drawing Program Example
- 10. The Scale Widget
- 10.1. Creating a Scale
- 10.2. Assigning a Callback
- 10.3. Orientation
- 10.4. Minimum and Maximum Values
- 10.5. Displayed Versus Stored Value
- 10.6. Adding a Label
- 10.7. Displaying Value Increments
- 10.8. Changing the Size of the Scale
- 10.9. Options You'll Probably Never Need
- 10.10. Configuring a Scale
- 10.11. Getting the Value of a Scale
- 10.12. Setting the Value of a Scale
- 10.13. Determining Coordinates
- 10.14. Identifying Parts of a Scale
- 11. Frame, MainWindow,and Toplevel Widgets
- 11.1. Creating a Frame
- 11.2. Creating a Toplevel Widget
- 11.3. Options
- 11.3.1. Frame-Specific Options
- 11.3.2. Toplevel-Specific Options
- 11.3.3. Viewing a Frame
- 11.3.4. Adding a Label to a Frame
- 11.3.5. Frames Aren't Interactive
- 11.3.6. Colormap Complications
- 11.3.7. The Magical Class Option
- 11.4. Frame Methods
- 11.5. Toplevel Methods
- 11.5.1. Sizing a Toplevel
- 11.5.2. Maximum Size
- 11.5.3. Minimum Size
- 11.5.4. Limiting Resizing
- 11.5.5. Using a Size Aspect
- 11.5.6. Setting the Title
- 11.5.7. Showing the Toplevel
- 11.5.8. Withdrawing the Toplevel
- 11.5.9. Iconifying the Toplevel
- 11.5.10. Specifying the Icon Bitmap
- 11.5.11. Specifying the Icon Mask
- 11.5.12. Setting the Name of the Icon
- 11.5.13. Setting the Icon Position
- 11.5.14. Using a Window Instead of an Icon
- 11.5.15. Determining the State
- 11.5.16. Assigning a Client Name
- 11.5.17. Window Properties
- 11.5.18. The Colormap Property
- 11.5.19. The Command Property
- 11.5.20. The Focus Model
- 11.5.21. Getting a Widget's Window ID
- 11.5.22. The Application Grid
- 11.5.23. Being the Leader
- 11.5.24. Removing Decorations
- 11.5.25. Who Placed the Window?
- 11.5.26. Who Sized It?
- 11.5.27. Transient Windows
- 11.6. Creating Multiple MainWindows
- 11.7. Putting Two MainWindows to Work
- 12. The Menu System
- 12.1. Menu System Components
- 12.1.1. Menus and Menu Items
- 12.1.2. Menu Indexes
- 12.1.3. Manipulating Menus
- 12.1.4. Manipulating Menu Items
- 12.1.5. Menubars
- 12.1.6. Menu Options
- 12.1. Menu System Components
- 12.2. Menubars and Pulldown Menus
- 12.2.1. Menubars the Clunky, Casual, Old-Fashioned Way
- 12.2.2. Menubars the Slick, Sophisticated, New-Fashioned Way
- 12.3. The Win32 System Menu Item
- 12.4. Classical Menubars
- 12.4.1. Menubutton Options
- 12.4.2. Button-Only Options
- 12.5. Popup Menus
- 12.5.1. The post and Post Methods
- 12.5.2. The Popup Method
- 12.5.2.1. Popup examples
- 12.6. Option Menus
- 12.6.1. Tk::Optionmenu
- 12.6.2. A Native Option Menu
- 12.7. Menu Virtual Events
- 12.8. Pie Menus
- 12.8.1. Fitts' Law
- 13. Miscellaneous Perl/Tk Methods
- 13.1. Managing Widgets with configure and cget
- 13.1.1. The configure Method
- 13.1.2. The cget Method
- 13.1. Managing Widgets with configure and cget
- 13.2. Building a Family Tree
- 13.2.1. Widget's Children
- 13.2.2. Name of a Widget
- 13.2.3. Parent of a Widget
- 13.2.4. The Widget's Toplevel
- 13.2.5. Widget's Manager
- 13.2.6. The Widget's class
- 13.3. Widget's ID
- 13.3.1. Widget's PathName From Its X11 ID
- 13.4. Color-Related Methods
- 13.4.1. Is the Colormap Full?
- 13.4.2. Cell Count
- 13.4.3. Color Depth
- 13.4.4. Translate to RGB Value
- 13.4.5. Setting Colors
- 13.4.6. Predefined Color Scheme
- 13.5. The Application's Name
- 13.6. Widget Existence
- 13.7. Is the Widget Mapped?
- 13.8. Converting Screen Distances
- 13.9. Size of Widget
- 13.9.1. Widget's Geometry
- 13.9.2. Requested Height
- 13.9.3. Requested Width
- 13.9.4. Actual Width
- 13.9.5. Actual Height
- 13.10. Widget Position
- 13.10.1. Position Relative to the Root Window
- 13.10.2. Coordinates Relative to the Parent
- 13.10.3. Coordinates Relative to the Root Window
- 13.10.4. Virtual Desktop Coordinates
- 13.10.5. Cursor Coordinates Relative to the Desktop
- 13.11. Screen Information
- 13.11.1. Screen Name
- 13.11.2. Screen Height and Width
- 13.11.3. Cell Count
- 13.11.4. Screen Depth
- 13.11.5. Color Type
- 13.11.6. Server Type
- 13.11.7. Is the Widget Viewable?
- 13.12. Atom Methods
- 13.13. Ringing a Bell
- 13.14. Clipboard and Selection Methods
- 13.14.1. Clipboard Methods
- 13.14.2. Selection Methods
- 13.14.2.1. Clearing the selection
- 13.14.2.2. Getting the selection
- 13.14.2.3. Assigning a callback
- 13.14.2.4. Determining the owner
- 13.14.2.5. Setting the owner
- 13.14.3. Exporting the Selection to the Outside World
- 13.15. Destroying a Widget
- 13.16. Focus Methods
- 13.16.1. Keyboard Traversal
- 13.16.1.1. Tabbing between widgets
- 13.16.1.2. Default widget bindings
- 13.16.1.3. Menu Traversal
- 13.16.1. Keyboard Traversal
- 13.17. Grab Methods
- 13.18. Marking a Widget Busy and Unbusy
- 13.19. Widget Mapping and Layering
- 13.20. Interapplication Communication
- 13.21. Waiting for Events to Happen
- 13.21.1. File Events
- 13.22. Time Delays
- 13.23. Parsing Command-Line Options
- 13.24. Really Miscellaneous Methods
- 14. Creating Custom Widgets in Pure Perl/Tk
- 14.1. A Mega-Widget Quick-Start
- 14.2. The Perl/Tk Class Hierarchy
- 14.3. Mega-Widget Implementation Details
- 14.3.1. Tk::Widget::new, the Real Perl/Tk Widget Constructor
- 14.3.2. Subroutine ClassInit
- 14.3.3. Subroutine CreateArgs
- 14.3.4. Subroutine SetBindtags
- 14.3.5. Subroutine Populate
- 14.3.6. Subroutine ConfigSpecs
- 14.3.6.1. ConfigSpecs Examples
- 14.3.7. Subroutine Delegates
- 14.3.8. Other Useful Methods
- 14.3.8.1. Subroutine Advertise
- 14.3.8.2. Subroutine Callback
- 14.3.8.3. Subroutine Component
- 14.3.8.4. Subroutine Descendants
- 14.3.8.5. Subroutine Subwidget
- 14.3.8.6. Subroutine Walk
- 14.3.9. Mega-Widget Instance Variables
- 14.4. Composite Mega-Widgets
- 14.4.1. Tk::Thermometer
- 14.5. Derived Mega-Widgets
- 14.5.1. Tk::NavListbox
- 14.5.2. Tk::CanvasPlot
- 14.5.3. Tk::LCD
- 14.6. Packaging a Mega-Widget for Public Distribution
- 14.6.1. Packaging for CPAN
- 14.6.2. Packaging for PPM
- 15. Anatomy of the MainLoop
- 15.1. Creating a Callback
- 15.1.1. Callbacks and Closures
- 15.1. Creating a Callback
- 15.2. Binding to Events
- 15.2.1. Event Descriptor Syntax
- 15.2.1.1. Event descriptor modifiers
- 15.2.1.2. Event descriptor types
- 15.2.1. Event Descriptor Syntax
- 15.2.2. The Event Structure
- 15.2.2.1. The exporter tag :variables
- 15.2.2.2. Event information methods
- 15.2.3. Widget Class Bindings
- 15.2.4. Widget Instance Bindings
- 15.2.5. Binding to a MouseWheel Event
- 15.2.6. Canvas Bindings
- 15.3. The bindtags Command
- 15.3.1. How Might We Use bindtags?
- 15.3.2. bindDumpDump Lots of Binding Information
- 15.4. Executing Nonblocking System Commands
- 15.4.1. fileevent Syntax
- 15.4.2. Tk::ExecuteCommand
- 15.4.3. An MPG Playertkmpg123
- 15.5. Tracing Perl/Tk Variables
- 15.5.1. Tie::Watch
- 15.6. Nonblocking Wait Activities
- 15.6.1. Tk::waitVariableX
- 15.7. Splash Screens
- 15.7.1. Tk::Splashscreen
- 15.8. Synthesizing Virtual Events
- 15.9. Coexisting with Other GUI Main Loops
- 15.9.1. Embedding OpenGL in a Perl/Tk Window
- 15.9.2. Flying the Enterprise
- 16. User Customization
- 16.1. Using the Command Line
- 16.1.1. Colors, Fonts, and Titles
- 16.1.2. Initial MainWindow Placement
- 16.1.3. Choosing a Display
- 16.1.4. Option Database Lookups
- 16.1.5. Synchronizing Window Messages
- 16.1. Using the Command Line
- 16.2. Using the Option Database
- 16.2.1. Manipulating Resources with option* Methods
- 16.2.2. Manipulating Resources with Tk::CmdLine Subroutines
- 17. Images and Animations
- 17.1. An Overview of Perl/Tk Image Types
- 17.2. Methods Common to All Image Types
- 17.3. Bitmap Primitives
- 17.4. DefineBitmap
- 17.5. The Bitmap Image Type
- 17.5.1. Cool Tricks with an Empty Bitmap
- 17.5.1.1. An invisible cursor
- 17.5.1.2. Filling a transparent Canvas item
- 17.5.1. Cool Tricks with an Empty Bitmap
- 17.6. The Pixmap Image Type
- 17.7. The Photo Image Type
- 17.7.1. Creating a Color Palette with the put Method
- 17.7.2. Using put to Create a Progress Bar with a 3D Look
- 17.7.3. Capturing a Window with Tk::WinPhoto
- 17.7.3.1. What you see is not always what you get
- 17.7.4. Tk::Thumbnail
- 17.8. The Compound Image Type
- 17.9. Tk::Animation
- 17.10. tknekoAnimating the Neko on a Canvas
- 17.11. Tile and Transparent Images
- 17.12. Miscellaneous Image Methods
- 17.13. Simple Photo Rotations
- 18. A Tk Interface Extension Tour
- 18.1. Display Items
- 18.2. Item Styles
- 18.2.1. Item Style Methods
- 18.3. The TList Widget
- 18.3.1. TList Indexes and Methods
- 18.4. The HList Family of Widgets
- 18.4.1. Using Indicators with HList
- 18.4.2. HList Methods
- 18.4.3. The Tree Widget
- 18.4.4. Tree Methods
- 18.4.5. The DirTree Widget
- 18.4.6. Adding a Directory
- 18.5. Tix Images
- 19. Interprocess Communicationwith Pipes and Sockets
- 19.1. Handling Unsolicited Media Changes
- 19.1.1. The Media Change Client, mediachangec
- 19.1.2. The Media Change Server, mediachanged
- 19.1. Handling Unsolicited Media Changes
- 19.2. IPADM Design Considerations
- 19.3. The Perl/Tk IPADM Client, ipadm
- 19.3.1. Creating the Hypertext User Interface
- 19.3.2. The Subnet Widget Edits a Subnet Description
- 19.3.3. Starting the IPADM Helper Task
- 19.3.4. fileevent Keeps ipadm Happy
- 19.4. The IPADM Helper, ipadmh
- 19.5. The IPADM Daemon, ipadmd
- 19.5.1. The Forking Server
- 19.5.2. IPADM Message Handling
- 19.5.3. Locking an SDB File
- 19.5.4. Updating the DHCP and DNS Configuration Files
- 19.5.5. What About Security?
- 19.6. Polling Win32 Sockets
- 20. IPC with send
- 20.1. Security and Inter-Language Considerations
- 20.1.1. Application Names
- 20.1.2. Tk::Receive
- 20.1. Security and Inter-Language Considerations
- 20.2. Computing with Parallel Message Passing
- 20.2.1. The Message Passing Protocol
- 20.2.2. Tcl/Tk Slave Processor Code
- 20.2.3. Tcl/Tk Master Processor Code
- 20.3. TclRobots
- 20.3.1. TclRobots.pm, the Perl Interface to TclRobots
- 20.3.1.1. Tk::Receive handles tclrobots to Perl communications
- 20.3.1.2. The RCP API handles Perl to tclrobots communications
- 20.3.1. TclRobots.pm, the Perl Interface to TclRobots
- 20.3.2. Robot Control Programs
- 21. C Widget Internals
- 21.1. The Tk::Square Widget
- 21.1.1. Tcl/Tk Example
- 21.1.2. Overview of the Perl/Tk Distribution
- 21.1.3. Layout of a Typical C Widget
- 21.1.3.1. Tk::Square instance structure
- 21.1.3.2. Tk::Square configuration specifications
- 21.1.3.3. Tk::Square instance constructor
- 21.1.3.4. Tk::Square method processors
- 21.1.3.5. Tk::Square option configurator
- 21.1.3.6. Tk::Square event handler
- 21.1.3.7. Tk::Square drawing handler
- 21.1.3.8. Tk::Square destructor
- 21.1. The Tk::Square Widget
- 21.2. Interfacing tkSquare.c with Perl/Tk
- 21.2.1. Makefile.PL
- 21.2.2. Square.xs
- 21.2.3. Square.pm
- 21.2.4. pTk/Makefile.PL
- 21.3. Building and Testing Tk::Square
- 21.3.1. t/square_demo.t
- 21.4. How Not to Port Tk::Square
- 22. Perl/Tk and the Web
- 22.1. Library for WWW Access in Perl
- 22.1.1. LWP::Simple, the Easiest Way to the Web
- 22.1.2. Fetching Web Content with LWP::UserAgent
- 22.1.3. lwp-request and fileevent Rule
- 22.1.4. The Recipe for Displaying Web Images
- 22.1.5. Win32 Considerations
- 22.1.5.1. fork and local Win32 sockets
- 22.1.5.2. fork and LWP::UserAgent
- 22.1.5.3. Win32::Process and shared memory
- 22.1.6. Tidying an Ugly Mess
- 22.1. Library for WWW Access in Perl
- 22.2. The PerlPlus Browser Plug-in
- 22.2.1. Embedding Perl/Tk in Other Windows
- 22.2.2. Embedded Versus Full-Screen Mode
- 22.2.3. How You Can Contribute to the PerlPlus Plug-in Project
- 23. Plethora of pTk Potpourri
- 23.1. pTk Special Variables and Exporter Symbols
- 23.1.1. Global Variables
- 23.1.2. Symbols Exported by Default
- 23.1.3. Optionally Exported Symbols
- 23.1.4. Exporter Tags
- 23.1. pTk Special Variables and Exporter Symbols
- 23.2. Manipulating the Cursor
- 23.2.1. Creating Your Own Custom Cursor Shape
- 23.3. Dialog Boxes
- 23.3.1. The Dialog Widget
- 23.3.2. The messageBox Method
- 23.3.3. The DialogBox Widget
- 23.3.4. Using ErrorDialog
- 23.3.5. chooseColor Dialog
- 23.3.6. getOpenFile and getSaveFile Dialogs
- 23.4. The Adjuster Widget
- 23.5. The Balloon Widget
- 23.6. The BrowseEntry Widget
- 23.7. The LabFrame Widget
- 23.7.1. LabFrame Options
- 23.8. The NoteBook Widget
- 23.8.1. Creating Pages
- 23.8.2. WordCount Example Using a NoteBook
- 23.8.3. NoteBook Limitations
- 23.9. The Pane Widget
- 23.9.1. Pane Options
- 23.10. The ProgressBar Widget
- 23.10.1. ProgressBar Options
- 23.11. Widgets Not in the Perl/Tk Distribution
- A. Installing Perl/Tk
- A.1. Installing Perl/Tk for Unix
- A.2. Installing Perl/Tk for Win32
- B. Options and Default Valuesfor Each Widget
- B.1. Adjuster
- B.2. Balloon
- B.3. Bitmap
- B.4. BrowseEntry
- B.5. Button
- B.6. Canvas
- B.7. Checkbutton
- B.8. ColorEditor
- B.9. Dialog
- B.10. DirTree
- B.11. Entry
- B.12. ErrorDialog
- B.13. FileSelect
- B.14. Frame
- B.15. HList
- B.16. Label
- B.17. LabEntry
- B.18. LabFrame
- B.19. Listbox
- B.20. MainWindow
- B.21. Menu
- B.22. Menubutton
- B.23. Message
- B.24. NoteBook
- B.25. Optionmenu
- B.26. Pane
- B.27. Photo
- B.28. ProgressBar
- B.29. Radiobutton
- B.30. ROText
- B.31. Scale
- B.32. Scrollbar
- B.33. Table
- B.34. Text
- B.35. TextUndo
- B.36. Tiler
- B.37. TList
- B.38. Toplevel
- B.39. Tree
- C. Complete Program Listings
- C.1. Tk::CollapsableFrame
- C.2. Tk::MacCopy
- C.3. Tk::ExecuteCommand
- C.4. Proc::Killfam
- C.5. tkmpg123
- C.6. Tk::Trace
- C.7. tkhp16c
- C.8. Tk::MacProgressBar
- C.9. TclRobots.pm
- C.10. Robot Control Program complex.ptr
- C.11. clock-bezier.ppl
- C.12. tkhanoi.ppl
- Index
- About the Authors
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly
O'Reilly Media - inne książki
-
Combing the web is simple, but how do you search for data at work? It's difficult and time-consuming, and can sometimes seem impossible. This book introduces a practical solution: the data catalog. Data analysts, data scientists, and data engineers will learn how to create true data discovery in ...(0,00 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł(-15%) -
This updated edition of the Nutshell guide not only helps experienced Java programmers get the most out of versions through Java 17, it also serves as a learning path for new developers. Chock-full of examples that demonstrate how to take complete advantage of modern Java APIs and development bes...(0,00 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł(-15%) -
Get started with Ray, the open source distributed computing framework that simplifies the process of scaling compute-intensive Python workloads. With this practical book, Python programmers, data engineers, and data scientists will learn how to leverage Ray locally and spin up compute clusters. Y...(0,00 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł(-15%) -
Remove your doubts about AI and explore how this technology can be future-proofed using blockchain's smart contracts and tamper-evident ledgers. With this practical book, system architects, software engineers, and systems solution specialists will learn how enterprise blockchain provides permanen...(0,00 zł najniższa cena z 30 dni)
271.15 zł
319.00 zł(-15%) -
FinOps brings financial accountability to the variable spend model of cloud. Used by the majority of global enterprises, this management practice has grown from a fringe activity to the de facto discipline managing cloud spend. In this book, authors J.R. Storment and Mike Fuller outline the proce...(0,00 zł najniższa cena z 30 dni)
271.15 zł
319.00 zł(-15%) -
Edge AI is transforming the way computers interact with the real world, allowing IoT devices to make decisions using the 99% of sensor data that was previously discarded due to cost, bandwidth, or power limitations. With techniques like embedded machine learning, developers can capture human intu...(0,00 zł najniższa cena z 30 dni)
271.15 zł
319.00 zł(-15%) -
Why is it difficult for so many companies to get digital identity right? If you're still wrestling with even simple identity problems like modern website authentication, this practical book has the answers you need. Author Phil Windley provides conceptual frameworks to help you make sense of all ...(0,00 zł najniższa cena z 30 dni)
194.65 zł
229.00 zł(-15%) -
Python was recently ranked as today's most popular programming language on the TIOBE index, thanks to its broad applicability to design and prototyping to testing, deployment, and maintenance. With this updated fourth edition, you'll learn how to get the most out of Python, whether you're a profe...(0,00 zł najniższa cena z 30 dni)
305.15 zł
359.00 zł(-15%) -
With the accelerating speed of business and the increasing dependence on technology, companies today are significantly changing the way they build in-house business solutions. Many now use low-code and no code technologies to help them deal with specific issues, but that's just the beginning. Wit...
Building Solutions with the Microsoft Power Platform Building Solutions with the Microsoft Power Platform
(0,00 zł najniższa cena z 30 dni)271.15 zł
319.00 zł(-15%) -
Companies are scrambling to integrate AI into their systems and operations. But to build truly successful solutions, you need a firm grasp of the underlying mathematics. This accessible guide walks you through the math necessary to thrive in the AI field such as focusing on real-world application...(0,00 zł najniższa cena z 30 dni)
271.15 zł
319.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.


Oceny i opinie klientów: Mastering Perl/Tk. Graphical User Interfaces in Perl Stephen Lidie, Nancy Walsh (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.