ikkVisualKit
Overview
Pythonアプリケーション開発用の軽量GUIツールキット。tkinterとcustomtkinterをベースに、ウィンドウ、ダイアログ、システムトレイアプリケーション用の汎用コンポーネントを提供します。
主な機能
- ウィンドウベースクラス - CTkやtkinterベースのウィンドウを簡単に構築
- ダイアログコンポーネント - OK、YesNo、カスタムダイアログなど汎用ダイアログ
- システムトレイ対応 - トレイメニュー、常駐アプリケーション機能
- 画像管理 - パッケージ内の画像リソースを統一的に管理
インストール
pip install ikkVisualKit
Feature
- CustomTkinterベース
- DPIスケーリング対応
- フォームアプリの作成が容易になるBaseクラスの提供
- フォームアプリ向けに
- 常駐(タスクトレイ)アプリの作成を用意するテンプレートの提供
- サイズの大きいカスタムメッセージダイアログの提供
- 常に手前に表示のON/OFF
利用方法
from ikkVisualKit import WindowBaseModan #ファームアプリを作成する場合
from ikkVisualKit import DialogResult #ダイアログを利用する場合
フォームアプリケーションの作成方法
フォームの作成
WindowBaseModanを継承した任意のウインドウクラスを作成します。def _build(self, root):をオーバライドして,super()._build(root)を実行します。show_window()とrun()を実行するとWindowアプリケーションが起動します。
from ikkVisualKit import WindowBaseModan
class TestWindow(WindowBaseModan):
def __init__(self):
super().__init__(
title="MyWindowSample",#アプリ名
version="0.0.0", #バージョン
size=(600, 400), #ウィンドウサイズ
icon_path="resources/icon.dio.ico", #アイコンパス(.ico推奨)
tray_app=False #常駐アプリにしたいならTrue
)
def _build(self, root):
super()._build(root)
# UIパーツの配置
self.btn1 = self.make_ActionButton(16 ,16, image_key="setting.dio") #設定
#ツールチップの付加
self.btn1.tooltip_text = "設定を開く"
#ハンドラの設定
self.btn1.OnClicked += self.on_btn1_click
def on_btn1_click(self):
self.show_ok_dialog(title="ボタンがクリックされました", message="これはテスト用のダイアログです。")
self .WarningBlink() # 警告点滅を開始
@override
def _loadAppState(self):
pass #フォームロード後の処理(継承必須)ウインドウ状態の復元に利用してください
@override
def _backupAppState(self):
pass #フォームクローズ前の処理(継承必須)ウインドウ状態保存に利用してください
カスタムボタン
- 大中小3タイプのボタンサイズを用意
- ツールチップテキストをプロパティとして用意
- マウスホバー時の色変更
- ボタンに付与するアイコン画像を予め用意
小さいアイコン付きボタン
以下のコードは小さいサイズのアイコン付きボタンを作成する例です。 コンストラクタのx,yに配置する座標を指定し、image_keyでアイコンを指定してください。 ツールチップテキストと、イベントハンドラを後から登録することが可能です。
self.btnSetting = self.make_ActionButton(x=16 , y=176, image_key="setting.dio")
self.btnSetting.tooltip_text = "設定を開く" #ツールチップテキスト設定
self.btnSetting.command = self.on_setting #ボタン押下で実行する関数の登録
大きいサイズのボタン
大きいサイズのボタンを利用する場合ばsize_rank=1もしくはsize_rank=2を指定してください。また、text=で指定した文字がアイコンと共に表示されます。
self.btnScan = self.make_ActionButton(624, 16 , image_key="start.dio",size_rank=2,text="検査スタート")
self.btnClear = self.make_ActionButton(784, 16 , image_key="clear.dio",size_rank=1,text="クリア")
アイコンの一覧
| Name | Image |
|---|---|
| alert.dio | |
| alwaysTop.dio | |
| clear.dio | |
| disconnect.dio | |
| error.dio | |
| focus.dio | |
| folder.dio | |
| goto.dio | |
| handyReader.dio | |
| help.dio | |
| info.dio | |
| link.dio | |
| lock.dio | |
| log.dio | |
| open.dio | |
| recipe.dio | |
| save.dio | |
| search.dio | |
| setting.dio | |
| start.dio | |
| swap.dio | |
| unlock.dio | |
| warning.dio |
常に手前に表示
ui.isAlwaysOnTop = True
Metadata
Release files for ikkVisualKit 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ikkvisualkit-0.2.0.tar.gz | 141.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ikkvisualkit-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 312.9 kB
Release files / ikkvisualkit-0.2.0.tar.gz
| Download URL | ikkvisualkit-0.2.0.tar.gz |
|---|---|
| Size | 141.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fc8190a6274d3d28ce9e9b9bdfb2816ccd7c48b991923820da50c27d1e0aea5d
|
|
BLAKE2b-256 checksum How to use checksums |
d27a7cf812715e3e61d0b0dc8cb8c0a07d5c551d1f00f3207fafde610ce09ec5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|
Release files / ikkvisualkit-0.2.0-py3-none-any.whl
| Download URL | ikkvisualkit-0.2.0-py3-none-any.whl |
|---|---|
| Size | 171.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b7acb7461a5c638f2e5cd6e0f1a826fc131c8252d6cba1f20d1738052e0847f
|
|
BLAKE2b-256 checksum How to use checksums |
7acbc817a8b9a879d5e5bf12a63b784704291b71ef81e95b7b20883d4d7574f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|