PR

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

PySimpleGUI
スポンサーリンク
けんろう
けんろう

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

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

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

作成する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アプリの作り方を紹介しました。

オススメ

Pythonでプログラムを作るのなら、ラズパイが安くて、環境構築も楽で、おすすめです。

Raspberry Pi は、Raspberry Pi Foundationによって開発された低価格で小型のシングルボードコンピュータです。最初は教育目的で2012年にリリースされましたが、その手頃な価格と高性能により、教育用にとどまらず、さまざまなプロジェクトやプロトタイピングのプラットフォームとして広く利用されています。Raspberry Piは、LinuxベースのOSを主に使用し、簡単にカスタマイズ可能であるため、プログラミングやエレクトロニクスの教育、IoTデバイス、ホームオートメーション、メディアセンターなどに活用されています。

オススメ

AI(人工知能)特化型プログラミングスクール「Aidemy Premium」

Aidemy Premiumは、AIや機械学習などの最先端技術の修得に留まらず、それらを活用して目標達成を実現するまでを一気通貫して支援するオンラインコーチングサービスです。

こんな思いを持っている人にオススメ
・AIエンジニア/データサイエンティストにキャリアチェンジしたい
・業務課題(研究課題)をAIを使って解決したい
・教養としてAIについて知りたい
・AIに関してのスキルを身に着け就職活動に活かしたい…

オススメポイント
・3ヶ月間集中して「AIプログラミング」を修得するオンラインコーチングサービスです。
・完全なプログラミング初心者から研究者にまで幅広く優良なコンテンツを提供します。
・通常のプログラミングスクールとは異なり、受講者の進捗管理を徹底して行います。
・専属メンターがAIの学び方から徹底的にコーチングします。
・完全オンライン完結なので、東京以外に在住・在勤の方も気兼ねなくお申込み頂けます。

実績
・日本最大級のAI/人工知能プログラミングスクール
・SaaS型AI学習サービス「Aidemy」会員登録者数 55,000名突破
・法人向けAI内製化支援サービス「Aidemy Business」導入企業数 120社突破
・第16回 日本e-Learning大賞「AI・人工知能特別部門賞」受賞
・「HRアワード2019」プロフェッショナル部門 入賞

無料ビデオカウンセリング実施中です。

コメント

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