レイアウトを調整するPythonで、GUIプログラムを作成するためのライブラリは、いくつか存在します。代表的なものだと「Tkinter(ティーキンター)」「Kivy(キビー)」「PyQt(パイキュート)」があります。今回紹介する「wxPython(ダブリュエックスパイソン)」も代表的なライブラリの1つです。それぞれの利点はコチラ!【Tkinter】Pythonに標準的に組み込まれているため、すぐに使えます。【Kivy】レイアウト作成用の言語が用意されているので直感的にレイアウトが指定できます。【PyQt】C++のQtライブラリのPython版で、GUIを美しく作りやすくなっています。【wxPython】APIが洗練されており、またその数も非常に豊富です。このためかなり凝ったGUIを作ることができます。上記の利点を見ると、どのライブラリも、一長一短ではあります。使えれば、ほとんどのGUIプログラムを作る事ができるのでオススメです。「レイアウトをどのように調整するのか」についてご紹介したいと思います。wxPythonのレイアウトGUIの基本である、画面のレイアウト。場合、2つの設定方法があります。絶対位置指定1つめは「絶対位置を指定する」方法です。この方法も多いかと思います。フローレイアウト2つ目は「フローレイアウト」という方法です。これは、画面のサイズに合わせて、画面上の部品の位置が、自動的に変わります。ブラウザで表示しているホームページの大半は、このフローレイアウトです。それぞれ、コーディングの方法が若干異なりますので、これから解説していきたいと思います。wxPythonの絶対位置指定レイアウトホームページの大半はフローレイアウトではありますが、「絶対位置指定の方が便利」というケースもあります。業務アプリケーションなどで、画面サイズが固定の場合は、わざわざフローレイアウトにする必要はありません。絶対位置指定のレイアウト例それでは、絶対位置指定のレイアウト例を見てみましょう。)の引数で、posパラメータを指定することです。50)このコードではこんな指定をしています。上の)位置が固定されます。wx.ALIGN_RIGHT)1415frame.Show(True)1617app.MainLoop()フローレイアウトの場合、画面のサイズに合わせて、画面上の部品が移動します。上記コードを実行すると、画面のサイズに合わせて、テキストボックスが移動するのが解ると思います。フローレイアウトのポイントは、絶対位置指定では無かった「レイアウト」クラスを使用する点です。GridSizer上記コードでは、「GridSizer」がこのレイアウトクラスに該当します。文字通り「グリッド」のレイアウトを司るレイアウトクラスです。本例では、1行2列のグリッドレイアウトを作成しています。表示したい画面部品を、「レイアウトインスタンス(本例ではlayout)」に「Add」して下さい。画面に、フローレイアウトとして表示されるようになります。この時、アライメントを指定することで、フローする時の位置を「右付き」「左付き」「センタリング」に指定することもできます。以外にも、「BoxSizer」や「FlexGridSizer」もあります。配置領域を「行」と「列」を指定して変更できるので、よりイメージに近いレイアウトを作成することが可能です。おける、レイアウト調整についてご紹介しました。レイアウト指定は、大きく「絶対位置指定」と「フローレイアウト」の2種類があり、それぞれコーディングが微妙に異なります。レイアウトクラスを使用する分、フローレイアウトの方がコードが複雑になります。技術力で世の中をもっと面白くエンジニア積極採用中!ライトコードでは、エンジニアを積極採用中!ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。4拠点で事業展開するIT企業です。現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。インターンや新卒採用も行っております。Studioモリ(エンジニア)2024.10.31immichを知ってほしいIT技術immichキムくん(エンジニア)2024.10.31ブログ一覧エンジニア大募集中!ライトコードでは、エンジニアを積極採用中です。WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!また、フリーランスエンジニア様も大募集中です。