0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでGUIチックな業務効率化ツールを作る

Posted at

業務の諸作業を自動化するツールを作りたかったので調べてみたところ、Panelライブラリというものが良さそうなので使ってみました。Panelライブラリについては以下のページを参考にしてください。

ツールに対する要求としては以下のとおりです。

  • フリーソフトインストール禁止の環境でもつかえること
  • GUIで使用できること
  • 改造が容易であること

要求に対するPanelライブラリの特徴は以下のとおりです。

  • フリーソフトインストール禁止の環境でもつかえること -> WSL上のPythonで動くためOK
  • GUIで使用できること -> ダッシュボードがあるため、GUIチックに使えるためOK
  • 改造が容易であること -> Pythonで動いておりビルド不要かつ、機能追加したい場合新規にスクリプトを作成すればいいのでOK

作ったもの

ファイルを一括でリネームするツールです。

画面イメージは以下のような感じです。良ければ使ってみてください。

rename_ss.png

実装方法

実装方法は以下のページを参考にしてください。ここではこのページに記載されていない事項について記載します。

ダッシュボード起動方法

ダッシュボードを起動したい場合は、以下のようにpanel serveというコマンドに.pyファイルを指定して起動します。.pyファイルは以下のようにワイルドカードを使用することが可能です。

$ panel serve app/*.py

複数のスクリプトを起動させている場合は、http://localhost:5006にアクセスすると、アプリケーションを選択することができます。
機能追加したい場合はスクリプトを追加して、ダッシュボードを再起動すればOKです。

start.png

動的に入力フォームなどを追加、削除したい場合

動的(ボタン押下時など)に入力フォームなどを追加したい場合は、以下のようにpn.Columnなどのコンテナをあらかじめ用意しておき、そこにAppendすることで追加されます。

# リネーム対象ファイル名の表示用コンテナ
rename_inputs_container = pn.Column()
input_widget = pn.widgets.TextInput(name=filename, placeholder='リネーム後のファイル名 ※手動で編集可')
rename_inputs_container.append(input_widget)

Listと同様に、remove()やclear()も可能です。

Dockerイメージ作成方法

以下のDockerファイルを参考にしてください。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?