アプリケーションとコアクラス

Python

Python wxPython: wx.PlatformInfoでOSを判別する方法 (Windows/Mac/Linux)

wxPythonでクロスプラットフォーム対応アプリを作る際、OSを判別する必要があります。この記事では、wx.PlatformInfoを使い、Windows/Mac/Linuxを正確に判別する方法を解説。sys.platformとの違いや、64bit判別、wx.StandardPathsとの連携も紹介します。
Python

Python wxPython: wx.CallAfterでスレッドからGUIを安全に操作する定番テクニック

Python wxPythonがスレッド処理でフリーズ・クラッシュ?その原因と、安全な解決策wx.CallAfterの使い方を徹底解説。重い処理を別スレッドで実行し、wx.CallAfterで安全にGUI(ラベルなど)を更新する定番テクニックを、コピペOKのコード例で学びます。
Python

Python wxPython: wx.StockCursorで矢印・砂時計・手のカーソルを簡単に設定

Python wxPythonでマウスカーソルを簡単に変更する方法を解説。wx.StockCursorを使い、標準の矢印、手の形、砂時計(待機中)などを設定する基本を学びます。処理中の待機カーソルに最適なwx.BusyCursorとの使い分けも詳しく紹介。
Python

Python wxPython: with文でスマートに!wx.BusyInfoの基本的な使い方

wxPythonアプリが重い処理で固まるのを防ぎませんか?wx.BusyInfoを使えば「処理中」メッセージを簡単に表示できます。この記事では、wx.BusyInfoの基本から、Pythonのwith文を使ったスマートで安全な実装方法まで、コピペで動くコード例と共に解説します。
Python

Python wxPython: wx.BusyCursorでユーザーに「処理中」を伝えるテクニック

wxPythonアプリが重い処理で固まる(フリーズ)のを、ユーザーに正しく伝えませんか?wx.BusyCursorをwith文で使い、砂時計や回転カーソルを表示する簡単な方法を解説。wx.BusyInfoとの違いや、スレッド処理との関係も紹介します。
Python

Python wxPythonのwx.Timerで処理を遅延・定期実行する簡単な方法

Python wxPythonアプリでtime.sleep()を使うとGUIが固まる理由を解説。GUIをフリーズさせずに処理を遅延・定期実行する「wx.Timer」の正しい使い方(Start, StartOnce, CallLater)を、デジタル時計などのコード例付きで分かりやすく紹介します。
Python

Python wxPythonのデバッグが変わる!wx.Logの基本的な使い方を徹底解説

Python wxPythonアプリのデバッグ、まだprint()で消耗していませんか?wx.Logの基本的な使い方(LogMessage, LogError)から、LogWindowやLogTextCtrlへの出力先変更、ファイル保存(LogChain)まで、GUIデバッグを効率化するテクニックを解説します。
Python

Python wxPython: wx.DataObject 徹底解説 – データ転送の仕組みを理解する

wxPythonのクリップボードやドラッグ&ドロップ(D&D)の核となるwx.DataObjectとは?この記事ではwx.DataFormatとの関係、wx.TextDataObject等の標準クラスの使い方、wx.DataObjectCompositeでの複数形式の扱い方、wx.CustomDataObjectの自作方法まで徹底解説。
Python

Python wxPython: wx.Clipboard の使い方 – テキストをコピー&ペースト

PythonのGUIライブラリwxPythonで、OSのクリップボードを操作する方法とは?この記事ではwx.Clipboardとwx.TextDataObjectを使い、テキストをコピー(SetData)&ペースト(GetData)する基本的な使い方を、try...finallyを使った安全なサンプルコード付きで解説します。
Python

Python wxPython: wx.Display の使い方 – マルチモニターの画面情報を取得

wxPythonアプリをマルチモニターに対応させる方法とは?この記事ではwx.Displayクラスを使い、PCに接続されたモニターの数(GetCount)、解像度(GetGeometry)、作業領域(GetClientArea)、プライマリ判定(IsPrimary)の方法をサンプルコード付きで徹底解説します。