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)

Hello, GUI

In computing terms, GUI (pronounced as gooey, or Graphical User Interface) is used to denote a set of interfaces with computing systems that involves user-friendly images rather than boring text commands. GUI comes to the rescue of the numerous command-line interfaces that have always been coupled with a steep learning curve because learning and mastering commands requires a lot of effort due to their nonintuitive nature. Moreover, GUI layers make it easy for the end users to fulfill their needs without knowing much about the underlying implementation, which is unnecessary for them.

Every other application in the modern world is designed with interactive graphics to attract the end users. Simplicity and usability are the two main ingredients for a successful GUI system. The demanding feature of a GUI is to allow the user to concentrate on the task at hand. To achieve this, it must serve the interaction between the human and the computer, and make it no less than seamless and flowing. Therefore, learning to create GUIs will not only make you a successful developer, but it will also help in getting some revenue for yourself.

At a very basic level, a GUI is seen as a window (visibly noticeable or not) consisting of the following parts: controls, menu, layout, and interaction. A GUI is represented as a window on the screen and contains a number of different controls, as follows:

  • Controls: These can, for example, be labels, buttons or text boxes.

  • Menu: This is usually situated under the top frame of the GUI window and presents to the users some choices to control the application. The top frame can also have buttons to hide, resize, or destroy the windows, which are, again, controls.

  • Layout: This is the way that the controls are positioned, which is very important in good GUI design.

  • Interaction: This happens in the way of I/O devices, such as a mouse and keyboard.

Development of a GUI application revolves around defining and controlling these components, and designing the area of interaction is the most challenging part of all. The correct exploitation of events, listeners, and handlers will help in developing better GUI applications. Many frameworks have been developed to support GUI development, such as the Model-View-Controller framework that is used in many web-based applications. Using some of these frameworks can make the GUI programming easier and will come in handy for future implementations. A good user-interface design relates to the user, not to the system architecture.


Usually, GUIs are characterized by 2W's, namely WIMP and WYSIWYG. They are acronyms for Windows, Icons, Menus, Pointing devices (mouse, joystick, and so on) and What You See Is What You Get.