zenipy
zenipy copied to clipboard
Create simple dialog with python and gtk
.. image:: https://badge.fury.io/py/zenipy.png :target: http://badge.fury.io/py/zenipy
.. image:: https://readthedocs.org/projects/zenipy/badge/?version=latest :target: http://zenipy.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
Zenipy
Zenipy is a library for python which was inspired by Zenity. When you write scripts, you can use Zenipy to create simple dialogs that interact graphically with the user.
Requirements
- Python 2 or 3
- GTK+3
- python3-gi or python-gi (for python2)
Installation
Install using pip :
.. code-block:: bash
$ pip install zenipy
Or clone the repo :
.. code-block:: bash
$ git clone https://github.com/poulp/zenipy.git
$ cd ./zenipy
$ python setup.py install
Example
Simple dialog :
.. code-block:: python
from zenipy import calendar
result = calendar(title="Awesome Calendar",text="Your birthday ?")
print(result)
This code show a calendar dialog :
.. image:: docs/images/screen.png :align: center
And display the result :
.. code-block:: bash
$ python test.py
$ (year=2017, month=6, day=4)
API
.. code-block:: python
zenipy.zenipy.message(title='', text='', width=330, height=120, timeout=None)
Display a simple message
Parameters: * text (str) – text inside the window
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
.. code-block:: python
zenipy.zenipy.error(title='', text='', width=330, height=120, timeout=None)
Display a simple error
Parameters: * text (str) – text inside the window
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
.. code-block:: python
zenipy.zenipy.warning(title='', text='', width=330, height=120, timeout=None)
Display a simple warning
Parameters: * text (str) – text inside the window
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
.. code-block:: python
zenipy.zenipy.question(title='', text='', width=330, height=120, timeout=None)
Display a question, possible answer are yes/no.
Parameters: * text (str) – text inside the window
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
Returns: The answer as a boolean
Return type: bool
.. code-block:: python
zenipy.zenipy.entry(text='', placeholder='', title='', width=330, height=120, timeout=None)
Display a text input
Parameters: * text (str) – text inside the window
* **placeholder** (*str*) – placeholder for the input
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
Returns: The content of the text input
Return type: str
.. code-block:: python
zenipy.zenipy.password(text='', placeholder='', title='', width=330, height=120, timeout=None)
Display a text input with hidden characters
Parameters: * text (str) – text inside the window
* **placeholder** (*str*) – placeholder for the input
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
Returns: The content of the text input
Return type: str
.. code-block:: python
zenipy.zenipy.zlist(columns, items, print_columns=None, text='', title='', width=330, height=120, timeout=None)
Display a list of values
Parameters: * columns (list of strings) – a list of columns name
* **items** (*list of strings*) – a list of values
* **print_columns** (*int** (**None if all the columns**)*) –
index of a column (return just the values from this column)
* **text** (*str*) – text inside the window
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
Returns: A row of values from the table
Return type: list
.. code-block:: python
zenipy.zenipy.file_selection(multiple=False, directory=False, save=False, confirm_overwrite=False, filename=None, title='', width=330, height=120, timeout=None)
Open a file selection window
Parameters: * multiple (bool) – allow multiple file selection
* **directory** (*bool*) – only directory selection
* **save** (*bool*) – save mode
* **confirm_overwrite** (*bool*) – confirm when a file is
overwritten
* **filename** (*str*) – placeholder for the filename
* **text** (*str*) – text inside the window
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
Returns: path of files selected.
Return type: string or list if multiple enabled
.. code-block:: python
zenipy.zenipy.calendar(text='', day=None, month=None, title='', width=330, height=120, timeout=None)
Display a calendar
Parameters: * text (str) – text inside the window
* **day** (*int*) – default day
* **month** (*int*) – default month
* **text** – text inside the window
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
Returns: (year, month, day)
Return type: tuple
.. code-block:: python
zenipy.zenipy.color_selection(show_palette=False, opacity_control=False, title='', width=330, height=120, timeout=None)
Display a color selection dialog
Parameters: * show_palette (bool) – hide/show the palette with preselected colors
* **opacity_control** (*bool*) – allow to control opacity
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
Returns: the color selected by the user
Return type: str
.. code-block:: python
zenipy.zenipy.scale(text='', value=0, min=0, max=100, step=1, draw_value=True, title='', width=330, height=120, timeout=None)
Select a number with a range widget
Parameters: * text (str) – text inside window
* **value** (*int*) – current value
* **min** (*int*) – minimum value
* **max** (*int*) – maximum value
* **step** (*int*) – incrementation value
* **draw_value** (*bool*) – hide/show cursor value
* **title** (*str*) – title of the window
* **width** (*int*) – window width
* **height** (*int*) – window height
* **timeout** (*int*) – close the window after n seconds
Returns: The value selected by the user
Return type: float