Skip to main content

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

License

License: MIT.

Project details


Download files

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

Source Distribution

uiside-0.1.2.tar.gz (6.5 kB view hashes)

Uploaded source

Built Distribution

uiside-0.1.2-py2-none-any.whl (7.4 kB view hashes)

Uploaded py2

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page