クロスプラットフォームライブラリとAPI
Qt Creator IDEと生産性向上ツール
UI compositionのためのUIデザインツール
Qtプロジェクト向け
モバイルアプリのデジタル広告
受託開発、トレーニング、サポート等
組み込み向けユーセージ分析
Qtは、UIデザインやソフトウェア開発から品質保証、展開に至るまで、製品開発ライフサイクル全体で生産性を向上させます。あなたのニーズに最も適したソリューションを見つけてください。
最新のリソースを入手し、今後のイベントを確認しましょう。
理想的な学習リソースを見つけたり、コミュニティと交流したりして、Qtのスキルを向上させましょう。
初心者であろうとベテランのQtプロであろうと、成功するために必要なサポートと助けがすべて揃っています。
9月 05, 2018 by 鈴木 佑 | Comments
この記事は The Qt Blog の Hello Qt for Python を翻訳したものです。
執筆: Cristián, 2018年05月04日
Qt for Python のテクノロジープレビューのリリースが迫って来たのに伴い、Python の世界 へのドアの開け方を簡単に紹介したいと思います。
早速ですが、QWidgets を使って Qt for Python の簡単さを実感してみましょう。
すべてのスクリプトはだいたい以下のような構成になっています:
これらをまとめると、以下のようになります。
# hello_world.py
from PySide2.QtWidgets import QApplication, QLabelapp = QApplication([])
label = QLabel("Hello Qt for Python!")
label.show()
app.exec_()
これを実行するのは、単に python hello_world.py を実行するだけです。
もちろん、これでおしまいではありません。重要なことは、Qt のクラスのメソッドにどうやってアクセスするのか? ということです。
プロセスをシンプルにするため、Qt の API はそのままの形を保っています。たとえば、QLabel のサイズを指定する場合、C++ では以下のようにしますよね。
QLabel *label = new QLabel();
label->setText("Hello World!");
label->resize(800, 600);
同様のことを Qt for Python でやる場合は以下のようになります。
label = QLabel()
label.setText("Hello World!")
label.resize(800, 600)
というわけで、C++ と同じということが分かったので、より高度なアプリケーションも書くことができるでしょう。
import sys
import random
from PySide2.QtCore import Qt
from PySide2.QtWidgets import (QApplication, QWidget,
QPushButton, QLabel, QVBoxLayout)class MyWidget(QWidget):
def __init__(self):
QWidget.__init__(self)self.hello = ["Hallo welt!", "Ciao mondo!",
"Hei maailma!", "Hola mundo!", "Hei verden!"]self.button = QPushButton("Click me!")
self.text = QLabel("Hello World")
self.text.setAlignment(Qt.AlignCenter)self.layout = QVBoxLayout()
self.layout.addWidget(self.text)
self.layout.addWidget(self.button)
self.setLayout(self.layout)self.button.clicked.connect(self.magic)
def magic(self):
self.text.setText(random.choice(self.hello))if __name__ == "__main__":
app = QApplication(sys.argv)
widget = MyWidget()
widget.resize(800, 600)
widget.show()
sys.exit(app.exec_())
Qt をあまり知らない方もいるかと思いますが、自分のやりたいことを実現するために既存のクラスを拡張することは一般的なことです。今回のサンプルでは、QWidget を基底クラスとしてその中に QLabel と QPushButton を配置しました。
このアプリケーションは以下のとおりとてもシンプルです:
これにより、ボタンをクリックするたびに、ランダムな言語での Hello World が表示されます!
今回のシンプルなスクリプトが、Qt for Python で書かれるほとんどのアプリケーションの雛形となります。Qt for Python がリリースされ次第、すぐにお試しいただければと思います。
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
10 11, 2024
本稿は「Qt for Python release: 6.8 is out now!」の抄訳です。 Qt for Python..
10 4, 2024
本稿は「Running your Qt Design Studio projects with Python」の抄訳です。 Qt Design..
4 11, 2024
本記事は「Qt for Python release: 6.7 is now available!」の抄訳です。 Qt for..
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.