convert pdf to tiff c# free : Add signature to pdf online control Library system web page asp.net html console pyqt-book0-part1577

Add signature to pdf online - C# PDF File Permission Library: add, remove, update PDF file permission in C#.net, ASP.NET, MVC, WPF
Tell C# users how to set PDF file permissions, like printing, copying, modifying, extracting, annotating, form filling, etc
pdf signature field; adding a signature to a pdf
Add signature to pdf online - VB.NET PDF File Permission Library: add, remove, update PDF file permission in vb.net, ASP.NET, MVC, WPF
VB.NET Tutorial for How to Set PDF File Access Permissions Using XDoc.PDF for .NET
add signature to pdf file; sign pdf
Table of Contents
Copyright..................................................................................................... 1
About the Author........................................................................................ 2
Production.................................................................................................. 2
Introduction............................................................................................... 3
The Structure of the Book............................................................................................................................................................... 5
Acknowledgements......................................................................................................................................................................... 7
Python Programming.................................................................................. 8
Data Types and Data Structures..................................................................................................................................................... 8
Executing Python Code............................................................................................................................................................... 8
Variables and Objects................................................................................................................................................................ 12
Numbers and Strings................................................................................................................................................................. 16
Collections................................................................................................................................................................................. 32
Built-in Functions..................................................................................................................................................................... 42
Summary.................................................................................................................................................................................... 45
Exercises.................................................................................................................................................................................... 46
Control Structures......................................................................................................................................................................... 48
Conditional Branching.............................................................................................................................................................. 49
Looping...................................................................................................................................................................................... 52
Functions................................................................................................................................................................................... 58
Exception Handling................................................................................................................................................................... 70
Summary.................................................................................................................................................................................... 76
Exercises.................................................................................................................................................................................... 77
Classes and Modules..................................................................................................................................................................... 80
Creating Instances..................................................................................................................................................................... 82
Methods and Special Methods.................................................................................................................................................. 84
Inheritance and Polymorphism............................................................................................................................................... 105
Modules and Multi-File Applications....................................................................................................................................... 111
Summary.................................................................................................................................................................................. 114
Exercises................................................................................................................................................................................... 115
Basic GUI Programming.......................................................................... 116
Introduction to GUI Programming............................................................................................................................................. 116
A Pop-up Alert in 25 Lines....................................................................................................................................................... 117
An Expression Evaluator in 30 Lines...................................................................................................................................... 122
A Currency Converter in 70 Lines........................................................................................................................................... 129
Signals and Slots...................................................................................................................................................................... 134
Summary.................................................................................................................................................................................. 144
Exercise.................................................................................................................................................................................... 145
Dialogs......................................................................................................................................................................................... 145
Dumb Dialogs........................................................................................................................................................................... 147
Standard Dialogs...................................................................................................................................................................... 154
Smart Dialogs........................................................................................................................................................................... 161
Summary.................................................................................................................................................................................. 169
Exercise.................................................................................................................................................................................... 170
Main Windows............................................................................................................................................................................. 172
Creating a Main Window......................................................................................................................................................... 174
Handling User Actions............................................................................................................................................................ 201
Summary.................................................................................................................................................................................. 212
Exercise.................................................................................................................................................................................... 214
Using Qt Designer........................................................................................................................................................................ 215
Designing User Interfaces........................................................................................................................................................ 217
Implementing Dialogs............................................................................................................................................................. 228
Testing Dialogs........................................................................................................................................................................ 233
Summary................................................................................................................................................................................. 234
Exercise.................................................................................................................................................................................... 235
Data Handling and Custom File Formats................................................................................................................................... 236
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
C# PDF Digital Signature Library: add, remove, update PDF digital
By using it in your C# application, you can easily do following things. Add a signature or an empty signature field in any PDF file page.
add signature image to pdf acrobat; export pdf sign in
VB.NET PDF Digital Signature Library: add, remove, update PDF
By using it in your VB.NET application, you can easily do following things. Add a signature or an empty signature field in any PDF file page.
create pdf signature box; add signature pdf online
Main Window Responsibilities............................................................................................................................................... 239
Data Container Responsibilities............................................................................................................................................. 244
Saving and Loading Binary Files............................................................................................................................................ 250
Saving and Loading Text Files................................................................................................................................................ 258
Saving and Loading XML Files............................................................................................................................................... 266
Summary.................................................................................................................................................................................. 275
Exercise.................................................................................................................................................................................... 276
Intermediate GUI Programming............................................................. 276
Layouts and Multiple Documents............................................................................................................................................... 277
Layout Policies......................................................................................................................................................................... 278
Tab Widgets and Stacked Widgets.......................................................................................................................................... 279
Splitters................................................................................................................................................................................... 288
Single Document Interface (SDI)............................................................................................................................................ 291
Multiple Document Interface (MDI)...................................................................................................................................... 298
Summary................................................................................................................................................................................. 308
Exercise................................................................................................................................................................................... 309
Events, the Clipboard, and Drag & Drop.................................................................................................................................... 310
The Event Handling Mechanism............................................................................................................................................. 310
Reimplementing Event Handlers............................................................................................................................................ 312
Using the Clipboard................................................................................................................................................................. 318
Drag and Drop......................................................................................................................................................................... 319
Summary................................................................................................................................................................................. 325
Exercise.................................................................................................................................................................................... 326
Custom Widgets.......................................................................................................................................................................... 327
Using Widget Style Sheets...................................................................................................................................................... 328
Creating Composite Widgets................................................................................................................................................... 331
Subclassing Built-in Widgets.................................................................................................................................................. 333
Subclassing QWidget............................................................................................................................................................... 335
Summary.................................................................................................................................................................................. 351
Exercise.................................................................................................................................................................................... 352
Item-Based Graphics................................................................................................................................................................... 353
Custom and Interactive Graphics Items................................................................................................................................. 355
Animation and Complex Shapes............................................................................................................................................. 373
Summary................................................................................................................................................................................. 382
Exercise................................................................................................................................................................................... 384
Rich Text and Printing................................................................................................................................................................ 384
Rich Text Editing..................................................................................................................................................................... 386
Printing Documents................................................................................................................................................................ 402
Summary.................................................................................................................................................................................. 415
Exercise.................................................................................................................................................................................... 416
Model/View Programming.......................................................................................................................................................... 417
Using the Convenience Item Widgets..................................................................................................................................... 419
Creating Custom Models......................................................................................................................................................... 427
Creating Custom Delegates..................................................................................................................................................... 439
Summary................................................................................................................................................................................. 446
Exercise.................................................................................................................................................................................... 447
Databases.................................................................................................................................................................................... 447
Connecting to the Database.................................................................................................................................................... 448
Executing SQL Queries........................................................................................................................................................... 449
Using Database Form Views................................................................................................................................................... 454
Using Database Table Views................................................................................................................................................... 460
Summary.................................................................................................................................................................................. 473
Exercise.................................................................................................................................................................................... 474
Advanced GUI Programming................................................................... 475
Advanced Model/View Programming........................................................................................................................................ 475
Custom Views.......................................................................................................................................................................... 476
Generic Delegates.................................................................................................................................................................... 483
Representing Tabular Data in Trees....................................................................................................................................... 492
Summary................................................................................................................................................................................. 506
Exercise................................................................................................................................................................................... 506
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit Dicom
can convert Dicom image to PDF (.pdf) online and convert C# .NET provide several utility signature buttons, which can help users to add text signatures
add signature block to pdf; pdf export sign in
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit Raster
to Tiff (.tif, .tiff) online, create PDF document from HTML5 Viewer for C# .NET offers signature features, which allows users to add text signatures to
add signature pdf preview; add signature to preview pdf
Online Help and Internationalization........................................................................................................................................ 508
Online Help............................................................................................................................................................................. 509
Internationalization................................................................................................................................................................. 512
Summary................................................................................................................................................................................. 520
Exercise.................................................................................................................................................................................... 521
Networking.................................................................................................................................................................................. 521
Creating a TCP Client.............................................................................................................................................................. 523
Creating a TCP Server............................................................................................................................................................. 529
Summary................................................................................................................................................................................. 534
Exercise.................................................................................................................................................................................... 535
Multithreading............................................................................................................................................................................ 536
Creating a Threaded Server..................................................................................................................................................... 538
Creating and Managing Secondary Threads........................................................................................................................... 543
Implementing a Secondary Thread......................................................................................................................................... 552
Summary.................................................................................................................................................................................. 557
Exercise.................................................................................................................................................................................... 558
This Is Not Quite The End....................................................................................................................................................... 559
Installing................................................................................................. 560
Installing on Windows................................................................................................................................................................ 560
Installing on Mac OS X............................................................................................................................................................... 565
Installing on Linux and Unix...................................................................................................................................................... 570
Selected PyQt Widgets............................................................................. 574
Selected PyQt Class Hierarchies.............................................................. 579
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
C# PDF insert image Library: insert images into PDF in C#.net, ASP
to freeware download and online C#.NET class source code. How to insert and add image, picture, digital photo, scanned signature or logo into PDF document page
pdf create signature; add signature to pdf online
VB.NET PDF Library SDK to view, edit, convert, process PDF file
NET program. Password, digital signature and PDF text, image and page redaction will be used and customized. PDF Annotation Edit.
add signature to pdf reader; adding signature to pdf form
Copyright
Many of the designations used by manufacturers and sellers to distinguish their products
are claimed as trademarks. Where those designations appear in this book, and the
publisher was aware of a trademark claim, the designations have been printed with initial
capital letters or in all capitals.
The author and publisher have taken care in the preparation of this book, but make no
expressed or implied warranty of any kind and assume no responsibility for errors or
omissions. No liability is assumed for incidental or consequential damages in connection
with or arising out of the use of the information or programs contained herein.
The publisher offers excellent discounts on this book when ordered in quantity for bulk
purchases or special sales, which may include electronic versions and/or custom covers
and content particular to your business, training goals, marketing focus, and branding
interests. For more information, please contact:
U.S. Corporate and Government Sales
(800) 382-3419
corpsales@pearsontechgroup.com
For sales outside the United States, please contact:
International Sales
international@pearsoned.com
Visit us on the Web: www.prenhallprofessional.com
Library of Congress Cataloging-in-Publication Data
Summerfield, Mark
Rapid GUI programming with Python and Qt / Mark Summerfield.
p. cm.
Includes bibliographical references and index.
ISBN 0-13-235418-7 (pbk.: alk. paper)
1. Graphical user interfaces (Computer systems) 2. C++ (Computer program language)
QA76.9.????? 2006
005.4'37—dc22
?????
Copyright © 2007 Pearson Education, Inc.
All rights reserved. Printed in the United States of America.
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Page 1
Return to Table of
Contents
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
Copyright Safari Books Online #905221
.NET PDF SDK - Description of All PDF Processing Control Feastures
XDoc.PDF SDK for .NET. View,Convert,Edit,Process,Protect,SignPDF Files. Download Free Trial View Online Add signature image to PDF file. PDF Hyperlink Edit.
pdf signature; adding signature to pdf files
VB.NET PDF insert image library: insert images into PDF in vb.net
Import graphic picture, digital photo, signature and logo into Add images to any selected PDF page in VB to PDF in preview without adobe PDF control installed.
copy and paste signature into pdf; add signature to pdf
Trolltech
®
, Qt
®
, Qtopia
®
, and the Trolltech and Qtopia logos are registered trademarks
of Trolltech ASA.
Text printed in the United States on recycled paper at Courier in Stoughton,
Massachusetts.
First printing, November 2007
Dedication
This book is dedicated to Andrea Summerfield
About the Author
Mark Summerfield
Mark graduated in computer science with first class honors from the University of Wales
Swansea. He followed this with a year's postgraduate research before going into industry.
He spent many years working as a software engineer for a variety of firms before joining
Trolltech. He spent almost three years as Trolltech's documentation manager, during
which he founded and edited Trolltech's technical journal, Qt Quarterly, and co-wrote C
++ GUI Programming with Qt 3, and later C++ GUI Programming with Qt 4. Mark owns
Qtrac Ltd., www.qtrac.eu, where he works as an independent author, editor, trainer, and
consultant, specializing in C++, Qt, and Python.
Production
The text was written using gvim and marked up with the Lout typesetting language. The
index was compiled by the author, with the assistance of a PyQt program developed for
the purpose. All the diagrams were produced using Lout. Almost all of the code snippets
were extracted directly from the example programs using Lout in conjunction with a
Python script. The icons used in the example programs are mostly from KDE (The "K"
Desktop Environment), with a few created by the author. The images used in the book's
margins are from the Open Clip Art Library, with some other images coming from Project
Gutenberg. SVG images were converted to EPS using Inkscape. The Linux screenshots
were taken with KSnapshot, and the Windows screenshots were captured and saved using
a tiny PyQt application; in both cases the .png images were converted to .eps using
ImageMagick. The monospaced font used for code is derived from Crystal, modified using
FontForge. Wikipedia proved itself to be useful in all kinds of ways, including being the
source of the flag images, and was frequently referred to for ideas, information, and sample
data. The marked-up text was previewed using gv and evince, and converted to PostScript
by Lout, then to PDF by Ghostscript.
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Page 2
Return to Table of
Contents
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
C# WPF Viewer: Load, View, Convert, Annotate and Edit Tiff
Editors, C# ASP.NET Document Viewer, C# Online Dicom Viewer, C# Online Jpeg images convert Tiff file to PDF, add annotations to Tiff, Create signature on tiff
add signature to pdf acrobat reader; create pdf signature field
C# WinForms Viewer: Load, View, Convert, Annotate and Edit Tiff
Document Viewer, C# Online Dicom Viewer, C# Online Jpeg images preview, such as convert Tiff file to PDF, add annotations to Tiff, Create signature on tiff
add signature to pdf acrobat; add a signature to a pdf file
All the editing and processing was done on Fedora and Kubuntu systems. The cover was
provided by the publisher, with the picture suggested by the author in view of the fact that
Python is used to calibrate and analyze data from the Hubble Space Telescope. The
screenshots were taken on Windows XP, Mac OS X, and Linux/KDE. All the example
programs have been tested on Windows, Linux, and Mac OS X, using Python 2.5, Qt 4.2,
and PyQt 4.2, and additionally on Linux using Qt 4.3.
Introduction
This book teaches how to write GUI applications using the Python programming language
and the Qt application development framework. The only prior knowledge assumed is that
you can program in some object-oriented programming language, such as C++, C#, Java,
or of course Python itself. A slight familiarity with HTML is also assumed, and some
knowledge of regular expresssions would be beneficial. A knowledge of GUI programming
is not required since all the key concepts are covered.
The book will be useful to people who program professionally as part of their job, whether
as full-time software developers, or those from other disciplines who need to do some
programming in support of their work. It is also suitable for undergraduate and post-
graduate students, particularly those doing courses or research that includes a substantial
computing element. The exercises (with solutions) are provided especially to help
students.
Python is probably the easiest to learn and nicest scripting language in widespread use,
and Qt is probably the best library for developing GUI applications. The combination of
Python and Qt, "PyQt", makes it possible to develop applications on any supported
platform and run them unchanged on all the supported platforms, for example, all modern
versions of Windows, Linux, Mac OS X, and most Unix-based systems. No compilation is
required thanks to Python being interpreted, and no source code changes to adapt to
different operating systems are required thanks to Qt abstracting away the platform-
specific details. We only have to copy the source file or files to a target machine that has
both Python and PyQt installed and the application will run.
If you are new to Python: Welcome! You are about to discover a language that is clear to
read and write, and that is concise without being cryptic. Python supports many
programming paradigms, but because our focus is on GUI programming, we will take an
object-oriented approach everywhere except in the very early chapters.
Python is a very expressive language, which means that we can usually write far fewer lines
of Python code than would be required for an equivalent application written in, say, C++
or Java. This makes it possible to show some small but complete examples throughout the
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Page 3
Return to Table of
Contents
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
text, and makes PyQt an ideal tool for rapidly and easily developing GUI applications,
whether for prototyping or for production use.
Since the emphasis of the book is on GUI programming, although Part I provides a fast-
paced Python tutorial, it also includes some PyQt coverage. This material is clearly marked
(just like this paragraph, with "Qt" in the margin) to make it easy for experienced Python
programmers to skip the Python they already know. Parts II, III, and IV of the book are
all PyQt-specific and assume that readers can already program in Python, whether from
previous experience or from reading Part I.
Figure 1. The eric4 IDE—a PyQt4 application
Quite often in programming we reach decision points when there are several possible
approaches we could take. Reference books and the online documentation identify what
classes, methods, and functions are available, and in some cases provide examples, but
such documents rarely provide a broader context. This book gives the necessary context,
highlighting the key decision points for GUI programming, and offering insights into the
pros and cons, so that you can decide for yourself what the right policy is for your particular
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Page 4
Return to Table of
Contents
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
circumstances. For example, when you create a dialog, should it be modal, modeless, or
global modal? (See Chapter 5 for an explanation and policy recommendations on this
issue.)
PyQt is used to write all kinds of GUI applications, from visualization tools used by
scientists and engineers, to accounting applications. It is possible to write PyQt
applications that are just tens of lines long, and medium sized projects of 1 000 to 10 000
lines are very common. Some commercial companies have built 100 000 line PyQt
applications, with programming teams varying in size from just one person to more than
a dozen people. Many in-house tools are written using PyQt, but because these are often
used to gain competitive advantage, the companies involved generally do not permit their
use of PyQt to be made public. PyQt is also widely used in the open source world, with
games, utilities, visualization tools, and IDEs, all written using it.
This book is specifically about PyQt4, the Python bindings for the Qt 4 C++ application
development framework.
[*]
PyQt4 is provided in the form of 10 Python modules which
between them contain around 400 classes and about 6 000 methods and functions. All
the example programs have been tested on Windows, Linux, and Mac OS X using Python
2.5, Qt 4.2, and PyQt 4.2. Back-porting to earlier versions may be possible in some cases,
but we recommend using the most up-to-date versions of Python, Qt, and PyQt.
[*]
There are also Python bindings for the older Qt 3 library, but there is no reason to use that library for new projects, especially since Qt 4 offers far more functionality.
Python, PyQt, and Qt can be used free of charge for non-commercial purposes, but the
license used by Python is different from that used by PyQt and Qt. Python is available with
a very liberal license that allows it to be used to develop both commercial and non-
commercial applications. Both PyQt and Qt are dual-licensed: This essentially allows for
them to be used to develop noncommercial applications—which must in turn be licensed
using an acceptable Open Source license such as the GNU General Public License (GPL);
or to be used to develop commercial applications—in this case a commercial PyQt license
and a commercial Qt license must be purchased.
The Structure of the Book
The book is divided into five parts. Part I is primarily a rapid conversion course aimed at
non-Python programmers who are familiar with an object-oriented language, although it
also has some (clearly marked) PyQt content. Because the core Python language is mostly
simple and is quite small, these chapters can teach the basics of Python, to a sufficient
extent that real Python applications can be written. Where more advanced Python
techniques are used in later parts of the book, they are explained at the point where they
are needed.
If you think that you could pick up the Python syntax simply through reading it, you might
be tempted to skip Part I and dive straight into the GUI programming that begins in Part
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Page 5
Return to Table of
Contents
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
II. The early chapters in Part II include back-references to the relevant pages in Part I to
support readers who choose this approach. However, even for readers familiar with
Python, we recommend reading about QString in Chapter 1. If you are unfamiliar with
partial function application (currying), it is important to read the sub-section that covers
this in Chapter 2, since this technique is sometimes used in GUI programming.
Part II begins by showing three tiny PyQt GUI applications to give an initial impression of
what PyQt programming is like. It also explains some of the fundamental concepts involved
in GUI programming, including PyQt's high-level signals and slots communication
mechanism. Chapter 5 (Dialogs) shows how to create dialogs and how to create and lay
out widgets ("controls" in Windows-speak—the graphical elements that make up a user
interface such as buttons, listboxes, and similar) in a dialog. Dialogs are central to GUI
programming: Most GUI applications have a single main window, and dozens or scores of
dialogs, so this topic is covered in depth.
After, the dialogs chapter comes, Chapter 6, which covers main windows, including menus,
toolbars, keyboard shortcuts, and also loading and saving application settings. Part II
concludes with Chapter 7 which shows how to create dialogs using Qt Designer, Qt's visual
design tool.
Part III gives deeper coverage of some of the topics covered in Part II and introduces new
topics. Chapter 9 shows how to lay out widgets in quite sophisticated ways. Chapter 10
gives more formal coverage of event handlers, and also shows the powerful technique of
event filtering. Chapter 10 shows how to use the clipboard and how to drag and drop both
text and arbitrary data. Chapter 12 covers painting with QPainter and also the
QGraphicsView and QGraphicsScene classes introduced in Qt 4.2. It also covers
printing both to paper and to PDF files. Chapter 11 shows how to create custom widgets,
starting simply by modifying the properties of existing widgets, and working up to
implementing widgets from scratch with complete control over their appearance and
behavior. Part III concludes with Chapter 14 which introduces Qt's model/view
architecture and shows how to use Qt's built-in views and how to create custom data
models.
Part IV begins by showing more advanced model/view techniques, in particular how to
achieve complete control over the editing and presentation of data items. Chapter 13
introduces Qt's HTML-capable text engine, and shows how to create and render rich text.
Chapter 17 explains how to make an application translatable, including how to use Qt's
translation tools to create translation files. Python provides its own classes for networking
and for threading, but in the last two chapters of this part we show how to do networking
and threading using the PyQt classes.
Appendix A explains where Python, PyQt, and Qt can be obtained, and how to install them
on Windows, Linux, and Mac OS X.
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Page 6
Return to Table of
Contents
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
By Mark Summerfield ISBN: 9780132354189 Publisher: Prentice Hall
Prepared for Paul Waddell, Safari ID: pwaddell@u.washington.edu
Print Publication Date: 2007/10/19
User number: 905221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
Documents you may be interested
Documents you may be interested