Skip to main content

A lightweight and extensible styled UI component kit for PySide6 applications.

Project description

PySide6StyleKit

PySide6 アプリのための軽量で拡張性の高いスタイル済み UI コンポーネントキット。
A lightweight and extensible styled UI component kit for PySide6 applications.


特徴 / Features

  • 統一テーマ(ライト/ダーク/背景色)
    Unified themes (light, dark, background-aware)
  • スタイル済みウィジェット(Label / LineEdit / Button / Indus Alternate Button / Indus Lamp / Indus Momentary Button / CheckBox / RadioButton / ComboBox / Slider / ProgressBar / TextEdit / GroupBox など)
    Styled widgets such as Label, LineEdit, Button, Indus Alternate Button, Indus Lamp, Indus Momentary Button, CheckBox, RadioButton, ComboBox, Slider, ProgressBar, TextEdit, and GroupBox
  • GroupBox タイトルの自動中央揃え(フォントサイズ変更に追随)
  • 数値バリデーション(int / float / range)
    Robust numeric validation (int, float, range)
  • エラー表示の柔軟な制御(枠線のみ・メッセージ表示)
    Flexible error signaling (border-only or message)
  • 拡張しやすいモジュール構造
    Modular and extensible architecture
  • 実用的なサンプルコード付き
    Includes practical example scripts Robust numeric validation (int, float, range)
  • エラー表示の柔軟な制御(枠線のみ・メッセージ表示)
    Flexible error signaling (border-only or message)
  • 拡張しやすいモジュール構造
    Modular and extensible architecture
  • 実用的なサンプルコード付き
    Includes practical example scripts

インストール / Installation

pip install pyside6stylekit

使い方 / Usage

examples/demo.pyexamples/demo_indus.py に基本的な使い方があります。
Basic usage is available in examples/demo.py and examples/demo_indus.py.

サポート widget / Supported widgets

  • StyledLabel
  • StyledLineEdit
  • StyledButton
  • StyledCheckBox
  • StyledRadioButton
  • StyledComboBox
  • StyledSlider
  • StyledProgressBar
  • StyledTextEdit
  • StyledGroupBox
  • IndusAlternateButton, IndusLamp, IndusMomentaryButton

※ さらに Theme 本体で色やサイズ設定を管理し、各 widget のスタイルを統一しています。

利用可能なカラーモード / Available color modes

  • Theme.light()
  • Theme.dark()
  • Theme(primary=<hex>, mode='light'|'dark', background='<hex>')

サポート色(utils/colors.py) / Supported colors

normalize_color で次のキーワードを16進色に変換します:

  • red: #ff0000
  • green: #00ff00
  • blue: #0000ff
  • black: #000000
  • white: #ffffff
  • gray: #808080
  • orange: #ffa500
  • yellow: #ffff00
  • purple: #800080
  • pink: #ffc0cb
  • sky: #87ceeb

normalize_color'#rrggbb' 形式や (r,g,b) 形式も受け付けます。

色サンプル / Color samples

from pyside6stylekit.utils.colors import normalize_color, adjust_color

print(normalize_color('sky'))       # #87ceeb
print(normalize_color((255,16,128)))  # #ff1080
print(adjust_color('#ff1080', 0.8))   # #cc0d66
from pyside6stylekit import Theme, StyledLabel, StyledLineEdit, StyledButton

theme = Theme.light()

label = StyledLabel("Hello")
lineedit = StyledLineEdit(validator="int")
button = StyledButton("Submit")

# GroupBox with adaptive title positioning
groupbox = StyledGroupBox("Settings", theme)

プロジェクト構造 / Project Structure

pyside6stylekit/
├─ pyside6stylekit/
│   ├─ utils/
│   │  ├─ __init__.py
│   │  └─ colors.py
│   ├─ widgets/
│   │  ├─ __init__.py
│   │  ├─ button.py
│   │  ├─ checkbox.py
│   │  ├─ combobox.py
│   │  ├─ groupbox.py
│   │  ├─ indus_alternate_button.py
│   │  ├─ indus_lamp.py
│   │  ├─ indus_momentary_button.py
│   │  ├─ label.py
│   │  ├─ lineedit.py
│   │  ├─ progressbar.py
│   │  ├─ radiobutton.py
│   │  ├─ slider.py
│   │  └─ textedit.py
│   ├─ __init__.py
│   ├─ presets.py
│   └─ theme.py
├─ examples/
│   ├─ demo.py
│   └─ demo_indus.py
├─ LICENSE
└─ README.md

ライセンス / License

MIT License © 2026 Mitsunori


作者 / Author

Noritama-Lab

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

pyside6stylekit-0.2.0.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyside6stylekit-0.2.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file pyside6stylekit-0.2.0.tar.gz.

File metadata

  • Download URL: pyside6stylekit-0.2.0.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pyside6stylekit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4c48c63199f8871c059208105b18178c729564d81c14915cfc3863acdcf1c635
MD5 466d608f74ca60dc40e1356afe4be0b9
BLAKE2b-256 6a56bced23741c9811b5d09c3de10e8b039968a8db3d2f28edde0253e2134914

See more details on using hashes here.

File details

Details for the file pyside6stylekit-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pyside6stylekit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 168825b9e21cc25a239b8ef6577bd0c8ba2c94f782ecaed30c7301bc7c54e635
MD5 871f5b7ad348104c12197b76abb30f28
BLAKE2b-256 a243552d1a61bbec33df90fea375b39e506194773bd2ad866a801a3e51008bbb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page