2024-03-08

【備忘録】sizeHint の活用 ~ PySide6

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

今回のテーマ
  • GUI のウィンドウサイズを固定します。

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

Fedora Workstation 39 x86_64
Python 3.12.2
PySide6 6.6.2

PySide6 で、ウィンドウのサイズを固定するには次のようにします。

self.setFixedSize(600, 400)

これで、ウィンドウのサイズは 600 x 400 に固定され、変更できなくなります。

ひとつ問題があります。作成した GUI のウィンドウの最小サイズをどのように入手するのか、ということです。そんなとき、下記のように sizeHint メソッドを利用すれば簡単に解決できます。

self.setFixedSize(self.sizeHint())

サンプルを以下に示します。

qt_gridlayout_top_left_resize.py
qt_gridlayout_top_left_resize.py の実行例

なぜこのような簡単なテーマを備忘録にするのかというと、それは、自分が長い間 Tcl/Tk で GUI アプリを作っていたからです。Tk では、ウィンドウのサイズ変更を wm コマンドで制御しているため [1]、そのやり方にとらわれてしまって PySide6 ではどうするのか、かなり長い間解らなかったからです。

wm resizable window ?width height?

結局、自分のための備忘録なのです。🙇🏻

参考サイト

  1. wm resizable [Tcl/Tk manual]

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

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



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

0 件のコメント: