No.655
LTC Player を試作ってみました。

まだまだ途中ですが、ウィンドウの下半分はこんな感じかなと。音源ファイルを選択して再生出来ます。再生、停止などは当たり前ですが、スライダーで再生位置指示と音量を付けてあります。音量は音源に対するものでシステムの音量は変化しません。上半分にはプレイリストを表示する予定です。
PySimpleGUIはレイアウトの制約が多いのですが、その範囲で並べればいいだけです。自由度を求めるならTkinterやKivyですが、これらはプログラミングが大変過ぎます。PySimpleGUIなら予習2日、製作数時間でここまで出来ました。
ボタンがフォーカス(押してはいないけど選択された状態)されているとスペースキーで押されたことになるので、フォーカスをボタン類から外すか常にPLAYボタンがフォーカスされた状態にするにはどうするかが課題です。
キー入力の取得も簡単でした。ウィンドウを表示コマンドにキーイベントを拾うスイッチを加えるだけです。キーボードで押された文字が戻り値に入ります。日本語入力状態には対策が必要です。
追記
ボタンのフォーカス問題ですが、ダミーボタンを置き、常にこれがフォーカスされる様にしました。
イベントが発生してPySimpleGUI.Window.read()を抜けたらイの一・無条件にダミーボタンをフォーカスするのです。
今はボタンしかレイアウトしていませんのでいいですが、強制フォーカスがダメな時には強制フォーカスの実行に条件を付けましょう。
#Python

まだまだ途中ですが、ウィンドウの下半分はこんな感じかなと。音源ファイルを選択して再生出来ます。再生、停止などは当たり前ですが、スライダーで再生位置指示と音量を付けてあります。音量は音源に対するものでシステムの音量は変化しません。上半分にはプレイリストを表示する予定です。
PySimpleGUIはレイアウトの制約が多いのですが、その範囲で並べればいいだけです。自由度を求めるならTkinterやKivyですが、これらはプログラミングが大変過ぎます。PySimpleGUIなら予習2日、製作数時間でここまで出来ました。
ボタンがフォーカス(押してはいないけど選択された状態)されているとスペースキーで押されたことになるので、フォーカスをボタン類から外すか常にPLAYボタンがフォーカスされた状態にするにはどうするかが課題です。
キー入力の取得も簡単でした。ウィンドウを表示コマンドにキーイベントを拾うスイッチを加えるだけです。キーボードで押された文字が戻り値に入ります。日本語入力状態には対策が必要です。
追記
ボタンのフォーカス問題ですが、ダミーボタンを置き、常にこれがフォーカスされる様にしました。
イベントが発生してPySimpleGUI.Window.read()を抜けたらイの一・無条件にダミーボタンをフォーカスするのです。
今はボタンしかレイアウトしていませんのでいいですが、強制フォーカスがダメな時には強制フォーカスの実行に条件を付けましょう。
#Python