2021-03-27

ぐるぐる回らない QDial (PySide2)

Qt for Python (PySide2) は、Qt の Python バインディングを提供するプロジェクトで、オープンソース版の Qt と同じく、LGPLv3 / GPLv3Qt commercial license(商用ライセンス)が適用されています。最近はクロスプラットフォーム用の GUI ライブラリとして使うことが多くなりました。

QDial は、QtWidgets.QAbstractSlider を継承した。スライダー系ですが、形状は丸くてダイヤル状のウィジェットです。

参考サイト [1] を参考に QDialog を試してみたところ、マウスでドラッグしてぐるぐる回すことが出来ます。これは QDial の仕様のようです。

そういう使い方で良い場合もあるでしょうが、下限上限を設定している以上、その範囲内だけで動いて欲しい用途もあります。誰かが範囲内で QDial のウィジェットを動かすサンプルを作っているに違いないと思って探しましたが、PyQt や PySide2 で探し出せなかったので自分で作ってみました。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora 34 (Workstation Edition Prerelease) x86_64
- python3-3.9.2-1
- python3-pyside2-5.15.2-3

以下が、参考サイト [1] をベースに、上限下限の値の間でしか回らない QDialog のサンプルです。

qt_dial.py
qt_dial.py の実行例

QDial のウィジェットをいくつも使う場合は、カスタムダイアログのクラスを作る方が良いかもしれません。

参考サイト

  1. PyQt5 QDial Example With valueChanged Signal Codeloop
  2. QDial — Qt for Python

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

0 件のコメント: