PySimpleGUI 入力エリアのフォーカス移動

*本サイトはアフィリエイト広告を利用しています。

デスクトップアプリケーションのフォームでは、入力エラー時にフォーカスをエラー箇所に移動することがあります。

このページでは入力エリアのフォーカス移動について解説しています。

開発環境のバージョンは以下です。
Python 3.11.4
PySimpleGUI 4.60.5

スポンサーリンク
スポンサーリンク

set_focus()メソッド

フーカスを移動するには、set_focus()メソッドを使用します。

構文: set_focus()

スポンサーリンク

サンプル画面

以下の画面でテストしました。

画面ではわかりにくいですが、ボタンクリックでフォーカス移動します。

<画面での動き>

「入力1」ボタンで上のエリアにフォーカス移動

「入力2」ボタンで下のエリアにフォーカス移動

コーディングサンプル

以下がコーディングサンプルです。

下線部がフォーカスを移動するコマンドです。

import PySimpleGUI as sg

layout = [
            [sg.B("入力1",key="b1"),sg.I(key="in1")],
            [sg.B("入力2",key="b2"),sg.I(key="in2")]
          ]

window = sg.Window("サンプル",layout)

while True:
    e,v = window.read()

    if e == "b1":
        window["in1"].set_focus()
    if e == "b2":
        window["in2"].set_focus()
    if e == None:
        break

window.close()
タイトルとURLをコピーしました