一括展開GUIアプリケーションを「Python」の「tkinter」で作成しました。

未分類

1. 完成図

初期状態では全てのチェックが外れていますが、「全てにチェックを入れる」「全てのチェックを外す」ボタンでチェックの一括操作が可能で、「キャンセル」をクリックするとチェックが入っていても展開せずにスクリプトを終了させ、「実行」でチェックが入っている項目の一括展開を行います。

見た目は少し無骨ですが、PCを起動した際に展開したいアプリやフォルダの数が多かったため、こちらのアプリで処理することで手間が大きく減りました。

メモ系だけ、Excel系だけ、と展開したかったことがあったので、チェックボックスで選択可能にしました。

のちほど紹介するコードを書き換えることで、任意のアプリ・フォルダ・ファイルを展開可能です。

1-1. 改善したい点

  1. 起動する順番を指定したい。
    →現状は、起動する順番は指定できないため、タスクバーのタブの順番を気にする場合は並び替える必要がある。
  2. 全て展開したことをプログラム内で確認して自動でプログラムを終了させたい。
    →現状は、目視で全てのプログラムが起動されていることを確認してからプログラムを終了させなければならない。
  3. チェックが入っていても、右上の×ボタンをクリックした場合は展開せずにプログラムを終了させたい。
    →現状は、右上の×ボタンをクリックした場合はチェックが入っていると展開してしまう。

改善出来たら修正したコードを公開したいと思います。

2. チェックボックスを利用したtkinterの大枠の作成

Python チェックボックス(チェックボタン)を作成する(tkinter・Checkbutton)
PythonではGUIアプリケーションを作り、チェックボックス(チェックボタン)を作ることができます。チェックボックスはPythonではチェックボタンと呼びます。画面(ウィンドウ)を作って、チェックボタンやラベルやテキストボックスを配置する

こちらのサイトを参考にさせていただき、チェックボックスを利用したtkinterの大枠の作成を行いました。

Python チェックボタンを動的に作成しボタンイベントと連携する(Checkbutton)
PythonではGUIアプリケーションを作り、チェックボタン(チェックボックス)を作ることができます。チェックボックスはPythonではチェックボタンと呼びます。画面(ウィンドウ)を作って、チェックボタンやラベルやテキストボックスを配置する

1つのボタンでチェックをすべて外したり付けたりしたかったので、こちらのサイトを参考に実装しました。

3. 現在利用可能なフォントの一覧を取得

上記のコードをそのままコピーペーストしてPycharmで実行することで、現在利用可能なフォントの一覧を取得可能です。

Pycharmに出力されるフォント名はこのようなコピーが可能なテキストで出力されます。

使用したいフォント名をここからコピーして、後述するコードの指定箇所にペーストすれば「tkinter」のウィンドウで表示される文字列に適用可能です。

私は個人的に「BIZ UDゴシック」が好きなので、今回はそちらを利用しました。

こちらのサイトを参考にさせていただきました。
https://shizenkarasuzon.hatenablog.com/entry/2018/12/31/064646

4. フォントオブジェクトを新規に作成

ボタンそれぞれに何度もフォント設定を記載するのは面倒なので、フォントオブジェクトを先に作成し、それをそれぞれのボタンに適用します。

「family=”System”」の「System」に利用したいフォント名を入れることで、任意のフォントが利用可能になります。

この方法はこちらのサイトを参考にさせていただきました。
http://memopy.hatenadiary.jp/entry/2017/06/11/112619

フォントオブジェクトによる設定

フォントオブジェクトというものを新規に作成することもできる。
※python3で作成

import tkinter as tk
import tkinter.font as font

root = tk.Tk()

# my_fontというフォントオブジェクトを新規に作成
my_font = font.Font(root,family=”System”,size=20,weight=”bold”)

# fontオプションでmy_fontを設定する
button = tk.Button(root,text=”font”,font=my_font)
button.pack()

root.mainloop()

5. コード

こちらのコードはフォルダなどのフルパスを書き換えればPycharmなどでそのまま実行可能です。

合わせて読みたい

Pythonのスクリプトを実行する際は一手間加えることでショートカットからの実行が可能になり、利便性が向上します。

Pythonのスクリプトを擬似exe化して手軽に実行する方法

 

 

あまり関係はありませんが、私の場合は、秀丸で開くテキストファイルと、Windows付属のメモ帳で開くテキストファイルの拡張子を別にしてそれぞれ関連付けしているため、2種類のテキストエディタでテキストファイルを開いています。

 

「subprocess.Popen([])」の引数はそれぞれ

「’/MAX’」→最大化して起動させます。

「’explorer’」→エクスプローラー(開くプログラムを指定)で指定のフォルダを開かせます。

を意味しています。

プログラムを起動させる場合はプログラムのフルパスのみで起動可能です。

 

分からないところがありましたら、ご連絡頂ければ出来る限りご対応させていただきます。

ご参考になれば幸いです。

コメント

タイトルとURLをコピーしました