【Python(PySimpleGUI)でGUIアプリ入門】タブで複数のウィンドウを切り替える方法

PySimpleGUI
けんろう
けんろう

PySimpleGUIでは、簡単に、タブで複数のウィンドウを切り替えることができるGUIアプリを作ることができます。

この記事では、タブで複数のウィンドウを切り替えることができるGUIアプリの作り方を紹介します。

一つのウィンドウの中に、タブで複数のウィンドウを切り替えることができますので、多くの情報を載せることができます。

【無料オンライン】ゼロから始めるPythonプログラミング入門講座(週5開催) テックジム
スポンサーリンク

作成するGUIアプリの紹介

今回作成するアプリは、

・タブ1、タブ2の2つのウィンドウを持ちます。

・それぞれのタブには、テキスト入力部とボタンがあり、ボタンを押すと、Pythonコンソールに、入力したテキストが表示されます。

TabGroup、Tabを使ったサンプルコード

#!usr/bin/env python
# -*- coding: utf-8 -*-

import PySimpleGUI as sg

sg.theme('DarkBlue1')

tab1_layout =  [
    [sg.Text(' タブ1 ')],
    [sg.Input(key='input1')],
    [sg.Button('Read1')]
]

tab2_layout = [
    [sg.Text(' タブ2 ')],
    [sg.Input(key='input2')],
    [sg.Button('Read2')]
]

layout = [
    [sg.TabGroup([[sg.Tab('タイトル タブ1', tab1_layout), sg.Tab('タイトル タブ2', tab2_layout)]])],
    [sg.Quit()]
]

window = sg.Window('タブ デモ ', layout, default_element_size=(12, 1))

while True:

    event, values = window.read()

    # × もしくは Quitで終了
    if event in (None, 'Quit'):
        break

    # Readボタンを押すとinputのテキストが表示
    elif event == 'Read1':
        print(values['input1'])

    # Readボタンを押すとinputのテキストが表示
    elif event == 'Read2':
        print(values['input2'])

実行すると、以下の画面が表示されます。

左のウィンドウは、タブ1で、右のウィンドウはタブ2です。

テキスト入力欄になにか入力して、「Read1」「Read2」ボタンを押すと、Pythonコンソール上に、入力したテキストが表示されます。

「Quit」ボタンを押すか、ウィンドウ右上のXを押すと、プログラムが停止します。

まとめ

今回は、Pythonライブラリである、PySimpleGUIで、タブで複数ウィンドウを切り替えることができるGUIアプリの作り方を紹介しました。

コメント

タイトルとURLをコピーしました