ランチャーから数行のメモを開く場合、通常のテキストエディタだと大げさなのでテキストファイルビューアーを作ってみました。
使っている様子
以下のようにランチャーからメモを選択します。

こんな感じに小さく開きます。

コマンドラインからファイル名、横サイズ、縦サイズ、フォントサイズ、フォント名が指定できます。
実行ファイル
セットアップ
ファイルを適当なフォルダに展開する
C:\tools\viewer など
viewer.exe を Orchis にドラッグアンドドロップする。

右クリックして、項目の設定を選択する
基本設定で、項目名、アイコンを設定する。アイコンは参照から標準で色々選べる。

続いて、項目の実行のパラメータでファイル名などを設定する

ファイル名のほかに以下のオプションが設定可能です。
- –width WIDTH : 幅
- –height HEIGHT : 高さ
- –fontsize FONTSIZE :フォントサイズ
- –fontname FONTNAME : フォント名
例:
c:\test.txt --width 640 --height 120 --fontsize 16 --fontname "MSゴシック"
ソースコード
import tkinter as tk
from tkinter import scrolledtext
import argparse
import sys
import os
def open_file_from_path(file_path):
if os.path.isfile(file_path):
try:
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
text_area.delete(1.0, tk.END)
text_area.insert(tk.END, content)
except Exception as e:
text_area.insert(tk.END, f"ファイルの読み込み中にエラーが発生しました:\n{e}")
else:
text_area.insert(tk.END, "ファイルが見つかりませんでした。")
# コマンドライン引数の処理
parser = argparse.ArgumentParser(description="テキストファイルビューア")
parser.add_argument("filepath", nargs="?", help="表示するテキストファイルのパス")
parser.add_argument("--width", type=int, default=300, help="ウィンドウの幅")
parser.add_argument("--height", type=int, default=60, help="ウィンドウの高さ")
parser.add_argument("--fontsize", type=int, default=14, help="フォントサイズ")
parser.add_argument("--fontname", type=str, default="FixedSys", help="フォント名")
args = parser.parse_args()
# GUIセットアップ
root = tk.Tk()
root.title("マイクロビューアー")
root.geometry(f"{args.width}x{args.height}")
# フォント設定
text_font = (args.fontname, args.fontsize)
# テキストエリア
text_area = scrolledtext.ScrolledText(root, wrap=tk.WORD, font=text_font)
text_area.pack(expand=True, fill='both')
# ファイルが指定されていたら開く
if args.filepath:
open_file_from_path(args.filepath)
root.mainloop()
exe ファイルにする方法
ライブラリの追加
pip install pyinstaller
exeファイルにする
pyinstaller --onefile --windowed viewer.py
アイコンの指定が面倒なら.icoファイルを用意しておいて以下のように実行する
pyinstaller --onefile --windowed --icon=your_icon.ico viewer.py
おわりに
ここまで書いて、Clibor の定型文でも良いことに気が付きました。
