ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

Python3でもっと簡単に値を受付ける

(2021-12-02 初稿 - )

はじめに

以前、python-tkで値の入力を受付けるスクリプトを紹介した。

今回は、zenifyを利用した値の入力を受付けるスクリプトを紹介。

なお、この記事はzenifyが使えるLinuxRaspberry Piでの利用を想定している。

類似のファイル選択については、以下のページの参照を。

スクリプト

さっそく、python3で値の入力ダイアログを表示して、ファイルを選択するスクリプトを紹介する。

pyhton3から外部のプログラムを利用するため、subprocess.runを用いる。なお、Zenityは選択した値をバイナリ形式で標準出力に出力する。

#!/usr/bin/env python3
import subprocess

# Zenityの起動、stdoutをpipeに
result = subprocess.run(['zenity','--entry'], stdout=subprocess.PIPE)
print(result.stdout.decode("utf-8"))    # 出力をUTF-8

実行すると以下のようなダイアログが出る。

f:id:hymd3a:20211202132353p:plain

実行結果

オプション

Zenityにオプション付けると、下図のようになる。

--text=何かの文字を入力して

--entry-text=初期値

f:id:hymd3a:20211202132833p:plain

オプションを付けて実行

この他、--hide-text で入力文字を隠すことができる。

詳細は、man zenity または zenity --help-entry で。 

関連ページ