Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Additional UI components for PySide-based applications

Project Description

Additional UI components for PySide-based applications.

  • Save File Dialog uiside.dialogs.OpenFileDialog
  • Open File Dialog uiside.dialogs.SaveFileDialog
  • Message Box uiside.dialogs.MessageBox


File Dialogs

File Dialogs are fast and simple solution to let a user point to a file or files (Open File Dialog) or enter name for a new file (Save File Dialog). They have the same look and behaviour for all supported platforms. They are usually faster than native dialogs as they are designed to do as little as possible when a dialog pops up.

from uiside.dialogs import OpenFileDialog
from uiside.dialogs import SaveFileDialog

# multi=True means possibility to select several files
dialog = OpenFileDialog(self, multi = True)

# filters are array of tuples (name, list of masks)
dialog.setFilters([('Text Files', ['*.txt', '*.cpp']), ('All Files', ['*.*'])])

# this actually invokes dialog
result = dialog.exec_()

# result can be None when user selects Cancel button
if result:
    fullName, directory, files = result
    print 'nothing was selected'

The result of exec_() method is either None when “Cancel” button has been pressed, or tuple consisting of 3 parts:

  • string full absolute path to the first selected file
  • string full absolute path to directory containing selected file(s)
  • list of selected file names, for example:
(u'/home/rita/test.txt', u'/home/rita', [u'1.txt', u'2.txt'])

Message Box

This is an extension of standard Message Box with a convenient constructor that allows to specify title, message text and other parameters. It also has possibility to show a check box. In this case result of exec_() is tuple consisting of

  • result of standard QMessageBox exec_()
  • either True or False representing state of check box
from uiside.dialogs import MessageBox

# specify appearance of the dialog
title = 'Message Box Example'  # window title
text = '''
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

# which buttons are available
buttons = QtGui.QMessageBox.Yes | QtGui.QMessageBox.No

# default button
default = QtGui.QMessageBox.No
glyph = QtGui.QMessageBox.Question  # we can show a nice glyph in the dialog

box = MessageBox(title, text, 'Do not ask next time', buttons, default, glyph, self)
print box.exec_()  # tuple is returned
# see QMessageBox for details on how to interpret the first part


The uiside package requires PySide to be installed. The latter is not mentioned in package dependencies because on most systems PySide is installed as system package. Should your case not be the same, it is possible to install PySide from PyPI.

The uiside package can be installed from PyPI:

pip install uiside

Alternatively you may clone the git repository and run demo application:

git clone
cd uiside


License: MIT.

Release History

This version
History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(9.8 kB) Copy SHA256 Hash SHA256
Wheel py2 Aug 12, 2015
(6.7 kB) Copy SHA256 Hash SHA256
Source None Aug 12, 2015

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting