Python でwindows を表示する

Pythonでウィンドウを表示する方法はいくつかあります。主に使われるのは、標準ライブラリである Tkinter や、より高機能なGUIライブラリである PyQtKivyPygame などです。

画像に「Python AWT Sample」とありますが、AWT (Abstract Window Toolkit) はJavaのGUIライブラリであり、Pythonで直接的に使うことは一般的ではありません。もしJavaのAWTに似たようなことをPythonで行いたいのであれば、Tkinterが比較的シンプルで近い概念を持っています。

以下に、それぞれのライブラリで簡単なウィンドウを表示する基本的な方法を示します。

Tkinter を使用する方法 (Python標準ライブラリ)

Python

import tkinter as tk

# メインウィンドウを作成
window = tk.Tk()

# ウィンドウのタイトルを設定
window.title("Python Tkinter Window")

# ウィンドウのサイズを設定 (幅x高さ)
window.geometry("600x400")

# ウィンドウをmainloopで実行し、イベントを待ち受ける
window.mainloop()

このコードを実行すると、タイトルバーに「Python Tkinter Window」と表示された、600ピクセル幅、400ピクセル高さの空のウィンドウが表示されます。

PyQt を使用する方法

PyQtはより高機能なGUIライブラリであり、インストールが必要です。

Bash

pip install PyQt5

そして、以下のコードでウィンドウを表示できます。

Python

import sys
from PyQt5.QtWidgets import QApplication, QWidget

# アプリケーションオブジェクトを作成
app = QApplication(sys.argv)

# ウィンドウオブジェクトを作成
window = QWidget()

# ウィンドウのタイトルを設定
window.setWindowTitle("Python PyQt Window")

# ウィンドウのサイズを設定
window.setGeometry(100, 100, 600, 400) # x, y, width, height

# ウィンドウを表示
window.show()

# アプリケーションを実行し、イベントループを開始
sys.exit(app.exec_())

Kivy を使用する方法

Kivyはマルチタッチにも対応したGUIライブラリで、独自の言語(Kv言語)を使用することもできます。インストールが必要です。

Bash

pip install kivy

基本的なウィンドウ表示のコードは以下のようになります。

Python

from kivy.app import App
from kivy.uix.widget import Widget

class MyWindow(Widget):
    pass

class MyApp(App):
    def build(self):
        return MyWindow()

if __name__ == '__main__':
    MyApp().run()

Pygame を使用する方法

Pygameは主にゲーム開発に使われるライブラリですが、ウィンドウの作成も可能です。インストールが必要です。

Bash

pip install pygame

ウィンドウを表示する基本的なコードは以下の通りです。

Python

import pygame
import sys

# Pygameを初期化
pygame.init()

# ウィンドウのサイズを設定
size = [600, 400]
screen = pygame.display.set_mode(size)

# ウィンドウのタイトルを設定
pygame.display.set_caption("Python Pygame Window")

# ゲームループ
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # 画面を塗りつぶし (例: 黒)
    screen.fill((0, 0, 0))

    # ここに描画処理などを記述

    # 画面を更新
    pygame.display.flip()

# Pygameを終了
pygame.quit()
sys.exit()

どのライブラリを使うべきか:

  • Tkinter: Pythonに標準搭載されており、簡単なGUIアプリケーションを作成するのに適しています。学習コストが比較的低いです。
  • PyQt: 高機能で豊富なウィジェットを提供し、本格的なデスクトップアプリケーション開発に適しています。ライセンスに注意が必要です (GPLまたは商用ライセンス)。
  • Kivy: マルチタッチやクロスプラットフォームに強く、モダンなUIを作成するのに適しています。モバイルアプリ開発にも使われます。
  • Pygame: 主に2Dゲーム開発に使われますが、シンプルなウィンドウ表示や描画にも利用できます。

画像の「メインフレームの作成」というタイトルや、ウィンドウのサイズ、タイトルバーの存在などから推測すると、Tkinter が最も近い概念でシンプルなウィンドウ表示に適していると思われます。上記のTkinterのコードを試してみてください。

よかったらシェアしてね!
目次