![]() | |
![]() Qt Designer | |
開発元 | Riverbank Computing |
---|---|
最新版 |
6.8.1
/ 2025年2月6日[1] |
プログラミング 言語 | C++/Python[2] |
対応OS | クロスプラットフォーム |
ライセンス | GNU GPL and commercial |
公式サイト | riverbankcomputing.com |
PyQtは、クロスプラットフォームなGUIツールキットであるQtのPythonバインディングにして、PythonでGUIプログラミングをするときの選択肢の一つである。PyQtの他には、PySide・PyGTK・wxPython・TkinterなどのGUIツールキットが存在する。Qtと同様にPyQtは自由ソフトウェアである。PyQtはPythonのプラグインとして実装されている。
PyQtはイギリスのRiverbank Computing社によって開発されており、GPLと商用ライセンスで提供されているが、LGPLの下では提供されていない[3]。PyQtはクロスプラットフォームなツールキットであり、Windows・Linux・macOSなどをサポートしている[4]。
PyQtは440のクラスと6000以上の関数とメソッドを持つ。代表的なものは以下のとおりである[5]。
自動的にこれらのバインディングを生成するため、フィル・トンプソンは他のプロジェクトでも使用されるSIPというツールを開発した。
Qtツールキットの所有者であるノキアは、2009年8月にPySideを公開した。PySideはPyQtと同じ機能を持つが、LGPLの下で公開されているという点でPyQtと異なっている[7]。PySideが公開されたのは、Riverbank Computing社とのライセンスに関する合意形成に失敗したためである[8]。
PyQt4は次のPythonモジュールを含んでいる。
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
# Here we provide the necessary imports.
# The basic GUI widgets are located in QtGui module.
import sys
from PyQt4.QtGui import *
# Every PyQt4 application must create an application object.
# The application object is located in the QtGui module.
a = QApplication(sys.argv)
# The QWidget widget is the base class of all user interface objects in PyQt4.
# We provide the default constructor for QWidget. The default constructor has no parent.
# A widget with no parent is called a window.
w = QWidget()
w.resize(320, 240) # The resize() method resizes the widget.
w.setWindowTitle("Hello, World!") # Here we set the title for our window.
w.show() # The show() method displays the widget on the screen.
sys.exit(a.exec_()) # Finally, we enter the mainloop of the application.