/qt5-book-code

Porting source code of the book C++ GUI Programming with Qt 4 from Qt4 to Qt5

Primary LanguageC++

Qt5 Book Code

Description:

Porting the source code of the book C++ GUI Programming with Qt 4 (second edition) from Qt4 to Qt5 by Mutse Young.

The examples for all chapters with Qt 5.0 will be built on Ubuntu 12.04, and you can install qt5.0 with ppa.

Contents

  1. Getting Started

     chap01/age
     chap01/hello
     chap01/quit
    
  2. Creating Dialogs

     chap02/find
     chap02/gotocell1
     chap02/gotocell2
     chap02/gotocell3
     chap02/sort
    
  3. Creating Main Windows

     chap03/spreadsheet
    
  4. Implementing Application Functionality

     chap04/spreadsheet
    
  5. Creating Custom Widgets

     chap05/hexspinbox
     chap05/iconeditor
     chap05/iconeditorplugin
     chap05/plotter
    
  6. Layout Management

     chap06/findfile1
     chap06/findfile2
     chap06/findfile3
     chap06/mailclient
     chap06/mdieditor
     chap06/preferences
     chap06/splitter
    
  7. Event Processing

     chap07/ticker
    
  8. 2D Graphics

     chap08/cityscape
     chap08/diagram
     chap08/oventimer
    
  9. Drag and Drop

     chap09/projectchooser
    
  10. Item View Classes

    chap10/booleanparser
    chap10/cities
    chap10/colornames
    chap10/coordinatesetter
    chap10/currencies
    chap10/directoryviewer
    chap10/flowchartsymbolpicker
    chap10/settingsviewer
    chap10/teamleaders
    chap10/trackeditor
    
  11. Input/Output

    chap12/imageconverter
    chap12/imagespace
    chap12/tidy
    
  12. Databases

    chap13/scooters
    chap13/staffmanager
    
  13. Multithreading

    chap14/imagepro
    chap14/semaphores
    chap14/threads
    chap14/waitconditions
    
  14. Networking

    chap15/ftpget
    chap15/httpget
    chap15/spider
    chap15/tripplanner
    chap15/tripserver
    chap15/weatherballoon
    chap15/weatherstation
    
  15. XML

    chap16/domparser
    chap16/saxhandler
    chap16/xmlstreamreader
    chap16/xmlstreamwriter
    
  16. Look and Feel Customization

    chap19/bronze
    chap19/candy
    
  17. 3D Graphics

    chap20/teapots
    chap20/tetrahedron
    chap20/vowelcube
    
  18. Creating Plugins

    chap21/basiceffectsplugin
    chap21/bronze
    chap21/bronzestyleplugin
    chap21/cursorplugin
    chap21/extraeffectsplugin
    chap21/textart
    
  19. Application Scripting

    chap22/calculator
    chap22/gaspump
    chap22/htmleditor
    
  20. Platform-Specific Features

    chap23/addressbook
    chap23/bouncer
    chap23/mediaplayer
    chap23/tictactoe
    
  21. Embedded Programming

    chap24/expenses
    chap24/unitconverter
    

Note

The chap15 Networking needs QtFtp module before compiling because it is removed in Qt5. You can download QtFtp from its repo by git command:

git clone git://gitorious.org/qt/qtftp.git

All examples are compiled on Ubuntu 12.04.2 LTE with Qt5, except the chap23, which is only compiled on Windows platform with axserver module.

Thanks

Ersin Özkan ersin.ozkan@windowslive.com

reported pixmap.fill(this, 0, 0) in the chap05/plotter/plotter.cpp is deprecated with QT5.0.2, and suggested to use fill(QColor &) instead it.

Adriano Martinez uberkael@gmail.com

found the bug pixmap.fill(palette().dark().color()) not work in Qt5.5, and suggested to use fill(QWidget::palette().color(QWidget::backgroundRole())) instead it.

TODO

Test with Qt5.0.1

Test with Qt5.0.2

Test with Qt5.1.0

Test with Qt5.1.1

Test with Qt5.2.0

Test with Qt5.3.0

Test with Qt5.4.0

Test with Qt5.5.0

Getting involved

Any questions or suggestions are welcome. You can contact me with yyhoo2.young@gmail.com