Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

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

Components

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
else:
    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

Installation

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 https://github.com/confluenity/uiside.git
cd uiside
python app.py

License

License: MIT.

Release history Release notifications

This version
History Node

0.1.1

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
uiside-0.1.1-py2-none-any.whl (9.8 kB) Copy SHA256 hash SHA256 Wheel py2 Aug 12, 2015
uiside-0.1.1.tar.gz (6.7 kB) Copy SHA256 hash SHA256 Source None Aug 12, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page