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)

Form view


The form view is useful when you want to traverse the records one by one and perform some modifications to it. In this section, we will look at how to create a dialog form that displays, and we will also learn about how to add, edit, and delete records using the form dialog. We will use the same employee table that was created in our previous example.

We will not discuss the layout that is used in this program as our main aim is to discuss the form view. The model is created using the QSqlTableModel, setting the sort factor with the first_name column in the ascending order:

self.model = QSqlTableModel(self)
        self.model.setTable("employee")
        self.model.setSort(FIRST_NAME, Qt.AscendingOrder)
        self.model.select()

Next, we set the mapping of the form values with the column using the QDataWidgetMapper class. This class is used to provide mapping between a section of a data model to widgets. The addMapping(widget, section) function maps the widget to the section from...