Book Image

Pyside GUI Application Development- Second Edition - Second Edition

By : Venkateshwaran Loganathan, Gopinath Jaganmohan
Book Image

Pyside GUI Application Development- Second Edition - Second Edition

By: Venkateshwaran Loganathan, Gopinath Jaganmohan

Overview of this book

Elegantly-built GUI applications are always a massive hit among users. PySide is an open source software project that provides Python bindings for the Qt cross-platform UI framework. Combining the power of Qt and Python, PySide provides easy access to the Qt framework for Python developers and also acts as an excellent rapid application development platform. This book will take you through everything you need to know to develop UI applications. You will learn about installing and building PySide in various major operating systems as well as the basics of GUI programming. The book will then move on to discuss event management, signals and slots, and the widgets and dialogs available with PySide. Database interaction and manipulation is also covered. By the end of this book, you will be able to program GUI applications efficiently and master how to develop your own applications and how to run them across platforms.
Table of Contents (13 chapters)

Table and form views


This section is devoted to explaining the representation of data in a form view or a table view. But, before that, we can look at some examples of accessing databases through high-level model classes. The following classes are available in Qt for this purpose.

  • QSqlQueryModel: This provides a read-only data model for SQL result sets

  • QSqlTableModel: This provides an editable data model for a single database table

  • QSqlRelationalTableModel: This provides an editable data model for a single database table with foreign key support

Let's view some quick examples of each of these classes.

QSqlQueryModel

This model aims at providing a high-level interface to execute SQL queries and traverse the result set. This class is built on top of the QSqlQuery class and can be used to provide data to view classes, such as QTableView, which we are going to discuss in the forthcoming sections. A sample program using QSqlQueryModel is given as follows:

model = QSqlQueryModel()
model.setQuery(...