一応できた。
成果物
バージョン確認
python3
python3 -V
Python 3.5.3
tkinter
python3 -c "import tkinter;print(tkinter.TkVersion)"
8.6
コード
touch texteditor.py chmod 755 texteditor.py
texteditor.py
#!/usr/bin/env python3 # coding: utf-8 import os,sys import tkinter as tk import tkinter.font as font root = tk.Tk() print(font.families()) my_font = font.Font(root,family="渦筆",size="64",weight="normal") # fc-list, wight=normal|bold edit = tk.Text(root, wrap=tk.WORD, font=my_font) # wrap=NONE|CHAR|WORD edit.grid(column=0, row=0, sticky=(tk.N, tk.S, tk.E, tk.W)) edit.focus_set() root.columnconfigure(0, weight=1) root.rowconfigure(0, weight=1) root.title("メモ帳") #root.iconbitmap(default="*.png") icon_path = os.path.join(os.path.dirname(os.path.abspath(sys.argv[0])),'icon.png') imgicon = tk.PhotoImage(file=icon_path ,master=root) root.tk.call('wm', 'iconphoto', root._w, imgicon) root.geometry("600x480") root.mainloop()
結果
実行。
./texteditor.py
標準出力にフォント名を出力するようにした。font.Font(family="フォント名")
で指定できる。
('Lato', '07にくまるフォント', 'Lato', 'Piboto', 'DejaVu Math TeX Gyre', 'OpenSymbol', 'Carlito', 'GentiumAlt', 'Linux Libertine Mono O', 'Gentium Book Basic', '怨霊', 'Lato', 'Linux Libertine Display O', 'DejaVu Sans Mono', 'YAKITORI', 'id-カナ026P', 'id-カナ014', 'Piboto', 'IPAex明朝', 'IPA明朝', 'Gentium', 'PibotoLt', 'オバケ', 'Lato', 'Linux Libertine Initials O', 'FreeSerif', 'DejaVu Sans', 'DejaVu Sans', 'VL ゴシック', 'IPAゴシック', 'DejaVu Serif', 'IPA P明朝', 'DeathOne', 'Speedsolid', 'Speed', 'DejaVu Sans', 'Lato', 'Liberation Sans Narrow', 'Liberation Mono', 'id-カナ026', 'Caladea', 'IPAexゴシック', 'VL Pゴシック', 'Linux Biolinum O', 'Minakami', 'Droid Sans Fallback', 'Lato', 'じゃぽねすく', 'Linux Biolinum Keyboard O', 'Liberation Serif', 'Speedopen', 'Linux Libertine O', 'IPA Pゴシック', 'Lato', 'Piboto', 'Liberation Sans', '渦筆', 'Piboto Condensed', 'FreeSans', 'Noto Mono', '衡山毛筆フォント行書 OTF', 'Gentium Basic', 'Lato', 'DejaVu Serif', '07ラノベPOP', 'ジンへなかな', 'FreeMono', '暗黒ゾン字', 'id-カナ014P', 'ShotaroV3', '吐き溜', 'ShotaroV3')
指定したフォントにない字は別フォントで出しているっぽい。
残念
- IME入力中のテキストが表示されない……
- それの画面キャプチャが撮影できない……
日本語環境では辛すぎる。テキストエディタとは呼べないレベル。
- 検索/置換/grep置換がない
- ハイライトできない
素敵
Undo
/Redo
できる(Ctrl+Z
/Ctrl+Shift+Z
)- コピー/ペ―スト/カットできる(
Ctrl+C
/Ctrl+V
/Ctrl+X
)
最低限の機能はあるようで助かる。
所感
以前やったときはTkinterが存在せず、Pythonのビルドからやらねばならなかった。だが、今やってみるとあっさり実行できた。おそらくRaspbianが新しくなったためだろう。でかした。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13 ※
- bash 4.4.12(1)-release ※
- Python 3.5.3
- tkinter 8.6
- SQLite 3.29.0 ※
- MeCab 0.996ユーザ辞書
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux