2025-07-11

PySide6 でソケット通信

PySide (Qt for Python) は、Qt(キュート)の Python バインディングで、GUI などを構築するためのクロスプラットフォームなライブラリです。Linux, macOS および Microsoft Windows をサポートしています。配布ライセンスは LGPL で公開されています。

Qt Network を利用して GUI アプリの間でソケット通信をしてみたくて簡単なサンプルがないか探したところ、下記に PySide6 のサンプルがありました。

同一の PC 上 (127.0.0.0) で動作するように作られたサーバーとクライアントの簡単なサンプルです。まさにこんなサンプルが欲しかったのですが、使いやすいように少々手を加えました。

下記の OS 環境で動作確認をしています。

Fedora Linux Workstation 42 x86_64
Python 3.13.5
PySide6 6.9.1

サーバー (qt_tclsocker_server.py) とクライアント (qt_tclsocker_client.py) のサンプルを起動し、クライアント側の Connect ボタンをクリックすると、サーバー側のウィンドウに Connected from ... のメッセージ、クライアント側のウィンドウに Connected to server. のメッセージが表示されます。

クライアント側の Message: のエントリに文字列を入力して Enter キーを押すと、サーバー側へ入力した文字列が送信され、クライアント側でもサーバーが受信した文字列が表示されます。

クライアント側の IP アドレスと Port 番号の入力欄は将来の拡張用で、現在のところデフォルトの設定を変更しても動作しません。

以下に 2 つのサンプルのコードを示しました。

qt_tcpsocket_server.py
qt_tcpsocket_client.py

参考サイト

  1. PySide6.QtNetwork.QTcpSocket - Qt for Python
  2. PySide6.QtNetwork.QTcpServer - Qt for Python
  3. PySide6.QtNetwork.QAbstractSocket - Qt for Python

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加