Insight.k.k. VisualKit for easy application development
Project description
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.btnStart = 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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ikkvisualkit-0.1.0.tar.gz.
File metadata
- Download URL: ikkvisualkit-0.1.0.tar.gz
- Upload date:
- Size: 82.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
453f1cee85357e77f49e21fb08341311ceb12ac1452f150cacf12aafbeae9863
|
|
| MD5 |
56e61a21191ce96b661c21e12d11c259
|
|
| BLAKE2b-256 |
961abe0fbfe34101cf872880140a72e4acc03594abdc59047e867db014a9553c
|
File details
Details for the file ikkvisualkit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ikkvisualkit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 102.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11e4050a49d98301b1d3e5760081e9bc87cc04ff501a99ef28f4d49190683011
|
|
| MD5 |
52cb9a1085aa9778edf3b9e4b08ccf20
|
|
| BLAKE2b-256 |
1faa6ef7e5903c19c3c23ff0b42a3445479a00919f80c833ae879c13c046bf17
|