|Page 17. Incorrect forward reference.
||The forward reference to Chapter 4 should
be to Chapter 3.
|Page 19. Bad hypenation.
||Namespace is hypenated as names-pace instead
||Lorenz Quack and Steve Shortess|
|Page 30. Typo in the penultimate
||In the paragraph beginning "Now we have
changed the names tuple...", change names[:1] to
|Page 33. Missing item from list.
||All the fruit lists shown at the bottom of
this page should have 'Pear' in front of 'Quince'.
||Mark M. Henwood|
|Page 51. Incorrect variable name in code
||In the first code snippet change
print president, presidents[key] to
print key, presidents[key].
|Page 73. Poorly specified exercise.
||In Exercise 2 change the text “For every lowercase character in
text” to “For every character in a lowercased
copy of text”.
|Page 82. Although the __cmp__()
method works as written, it doesn't take advantage of the fact that
area is a property.
||Change the return line to:
return cmp(self.area, other.area)
This correction has been made to the example source code.
|Page 96. Missing period
||The period is missing from the end of the first sentence of the second paragraph.
|Page 117. Incorrect word.
||In the last line of the paragraph below the
screenshot change the word "encodings" to the phrase "character sets".
|Page 126. Incorrect word.
||Change the last word in the second paragraph
from “readlines()” to the phrase, “the file handle as an iterable”
(Kurt Welgehausen also suggested an improvement to the code shown on
page 125—this is now in the tarball and zip file.)
|Page 162. Typo in the first sentence of
||Change "showned" to "showed".
|Page 163. Poor solution to exercise.
||The solution in the archives has been improved
by removing some redundant lines and by rewriting the up() and
||Alexander Kanevskiy and Oleksandr Moskalenko|
|Pages 333 and 460. Two blank
lines instead of one separate a paragraph from a code snippet on each of
||There's nothing missing, so just ignore the blank
space. (I made a mistake when I typeset these pages.)
|Page 403. Typo in the first code snippet.
||Replace page-break-after=always; with
This is now fixed in printing.pyw's source code, and
gives proper page breaks but it
also outputs an extra blank page at the end. A new version,
printing2.pyw has been added to the source code with this fix
code so that no spurious blank page is output. It also puts the footer
that appears when using QPainter a bit lower.
|Page 463. Workaround for
Qt <= 4.3.3/SQLite bug.
||The QTableView showing the log records
sometimes shows spurious blank rows when using SQLite; the workaround is to add the line
self.logModel.reset() just before the select() call.
(The workaround was provided by Sibylle Koczian and is now in the
tarball and zip file.)
|Page 465. Missing : in code
||In the page's main code snippet there's a
colon missing after if not QSqlDatabase.database().commit().
|Page 615. Misplaced gzip module
||This entry appears at the end of the `Q's
instead of the end of the `G's on page 596 (i.e., it was filed as "qzip"
instead of "gzip").