PySide2 configuration in yaml format providing the most simple script.
Project description
PyamlSide2(ぴゃむるさいどつー)
PySide2 configuration in yaml format providing the most simple script.
Requirements
- yaml
- PySide2
Installation
cd <path-to-ReadableWidgets>/PyamlSide2
pip install .
Demo
python3 examples/chaos.py
Tutorial
1. create drawio-xml
Open draw.io.
Put the Rounded Rectangle
and add text.
+----------------------+
| widget:unique-label |
+----------------------+
- widget : widget name
pushbutton, label, ...
- unique-label : Unique label (also treated as a Key in Python).
Don't use compression flag. (Please uncheck.)
2. 🏁 drawio-xml -> YAML & Python (simple conversion)
rw_gen_xml2all -i <input .xml> -o <output directory>
2-1. Generate YAML file from drawio-xml
Although it is possible to convert directly from drawio-xml, conversion to YAML is recommended for readability.
rw_gen_xml2yaml -i <input .xml> -o <output .yaml>
2-2. Generate Python file from YAML
Create a sample Python program from a YAML file.
rw_gen_yaml2py -i <input .yaml> -o <output .py>
3. Run example python template
python3 <output .py (3rd step)> <input .yaml (3rd step)>
Template
Previously (v0.3.2)
See examples/simple_gui.py
.
import sys
import os
from pyamlside2.mainwindow import PyamlSide2Window
from PySide2.QtWidgets import QApplication
class MainWindow(pyamlside2Window):
def __init__(self):
self.number = 0
yaml_path = os.path.join(os.path.dirname(__file__), "../yaml/chaos.yaml")
super().__init__(yaml_path)
# your code -------------------------
# ************ #
# -----------------------------------
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())
Test YAML 📝
pyamlside2_yaml
is preview feature app.
pyamlside2_yaml <yaml-file-path or draw.io xml-file>
# pyamlside2_yaml PySide2/drawio_xml/example.xml
Elements (dev)
In yaml, you can add the following elements defined in PyQt.Widgets This may be added in the future.
- pushbutton : definition of QPushButton
- qlabel : definition of QLabel
- qlcdnumber : definition of QLCDNumber
- qprogressbar : definition of QProgressBar
- qlineedit : definition of QLineEdit
- qcheckbox : definition of QCheckbox
- qslider : definition of QSlider
- qspinbox : definition of QSpinBox
- qcombobox : definition of QCombobox
- image : definition of QLabel (using image path)
- stylesheet : definition of Stylesheet (define as QLabel and
setHidden=True
)
YAML format
PyamlQt defines common elements for simplicity. Not all values need to be defined, but if not set, default values will be applied
WINDOW: # unique key (Define key)
type: window
x: 0
y: 0
width: 800
height: 720
title: "example"
slider2: # keyname
type: qslider # QWidgets
x_center: 500 # x center point
y_center: 550 # y center point
rect:
width: 200 # QWidgets width
height: 50 # QWidgets height
max: 100 # QObject max value
min: 0 # QObject min value
default: 70 # QObject set default value
text: "Slider" # Set Text
style: # Setting style using stylesheet (css)
font: 30px # font size
color: #ff0000 # Color
font-family: Ubuntu # font-family
items: # Selectable items( Combobox's option )
- a
- b
- c
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
Built Distribution
File details
Details for the file pyamlside2-0.4.1.tar.gz
.
File metadata
- Download URL: pyamlside2-0.4.1.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 617e0f05e5d72aac3f1c32479c2d3093fb99e474c2bbb29175021dd05a0255d1 |
|
MD5 | 6f10f360444905ef7b2839ab3548b65e |
|
BLAKE2b-256 | 69269df9c23afbff9caff4049f11fc77bc5d9423dd8ae0c2530a009fdbb90df5 |
File details
Details for the file pyamlside2-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: pyamlside2-0.4.1-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db1daf2bbd7c4c18c07651b9221e6e9619117127b04b52573a78646c03e7e22f |
|
MD5 | fb83ba033b2d4be69c7afa058a37884d |
|
BLAKE2b-256 | a2e784ad102fef387ef1d1fc4638aa527a46d94dbb7ff8a3f3497e034377662a |