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?
結局、自分のための備忘録なのです。🙇🏻
参考サイト
- wm resizable [Tcl/Tk manual]
![にほんブログ村 IT技術ブログ オープンソースへ](https://b.blogmura.com/it/opensource/88_31.gif)
にほんブログ村
#オープンソース
![オープンソースランキング](https://blog.with2.net/img/banner/c/banner_1/br_c_1033_1.gif)
![このエントリーをはてなブックマークに追加](https://b.st-hatena.com/images/v4/public/entry-button/button-only@2x.png)
0 件のコメント:
コメントを投稿