差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
python:wxpython [2021/06/11 21:07] – [最小のwxPythonアプリケーション] ともやん | python:wxpython [2021/06/12 12:32] (現在) – [distutils.msvc9compiler の find_vcvarsall() の実装 (Python 3.8)] ともやん | ||
---|---|---|---|
行 1: | 行 1: | ||
- | |||
====== wxPython ====== | ====== wxPython ====== | ||
{{python: | {{python: | ||
行 16: | 行 15: | ||
**wxPython Phoenix 4**系\\ | **wxPython Phoenix 4**系\\ | ||
<code powershell> | <code powershell> | ||
- | PS > pip install wxpython | + | $ pip install wxpython |
</ | </ | ||
<WRAP prewrap 100% #result> | <WRAP prewrap 100% #result> | ||
< | < | ||
Collecting wxpython | Collecting wxpython | ||
- | Downloading wxPython-4.0.7.post2-cp38-cp38-win_amd64.whl (22.9 MB) | + | Downloading wxPython-4.1.1-cp39-cp39-win_amd64.whl (18.1 MB) |
- | | + | |
Collecting six | Collecting six | ||
- | Downloading six-1.14.0-py2.py3-none-any.whl (10 kB) | + | Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) |
- | Collecting numpy; python_version >= " | + | |
- | Downloading numpy-1.18.1-cp38-cp38-win_amd64.whl (12.8 MB) | + | |
- | | + | |
Collecting pillow | Collecting pillow | ||
- | Downloading Pillow-7.0.0-cp38-cp38-win_amd64.whl (2.0 MB) | + | Downloading Pillow-8.2.0-cp39-cp39-win_amd64.whl (2.2 MB) |
- | | + | |
- | Installing collected packages: six, numpy, pillow, wxpython | + | Collecting numpy; python_version >= " |
- | Successfully installed numpy-1.18.1 pillow-7.0.0 six-1.14.0 wxpython-4.0.7.post2 | + | Downloading numpy-1.20.3-cp39-cp39-win_amd64.whl (13.7 MB) |
+ | | ||
+ | Installing collected packages: six, pillow, numpy, wxpython | ||
+ | Successfully installed numpy-1.20.3 pillow-8.2.0 six-1.16.0 wxpython-4.1.1 | ||
</ | </ | ||
</ | </ | ||
行 186: | 行 185: | ||
==== distutils.msvccompiler の get_build_version() の実装 (Python 3.8) ==== | ==== distutils.msvccompiler の get_build_version() の実装 (Python 3.8) ==== | ||
- | <WRAP prewrap 100% #result> | + | <WRAP prewrap 100% #result_long> |
<code python> | <code python> | ||
def get_build_version(): | def get_build_version(): | ||
行 239: | 行 238: | ||
==== distutils.msvc9compiler の find_vcvarsall() の実装 (Python 3.8) ==== | ==== distutils.msvc9compiler の find_vcvarsall() の実装 (Python 3.8) ==== | ||
- | <WRAP prewrap 100% #result> | + | <WRAP prewrap 100% #result_long> |
<code python> | <code python> | ||
def find_vcvarsall(version): | def find_vcvarsall(version): | ||
行 278: | 行 277: | ||
</ | </ | ||
- | ===== 最小のwxPythonアプリケーション ===== | + | ===== 最小の wxPython アプリケーション ===== |
- | UTF-8で保存すること。 | + | <wrap em> |
+ | |||
+ | ==== wx.Frame サンプル ==== | ||
+ | {{: | ||
<WRAP prewrap 100% # | <WRAP prewrap 100% # | ||
<code python PyWxHelloMain.py> | <code python PyWxHelloMain.py> | ||
+ | # | ||
+ | # -*- coding: utf-8 -*- | ||
+ | import wx | ||
+ | |||
+ | # PyWxHelloFrame クラス(wxFrame から派生) | ||
+ | class PyWxHelloFrame(wx.Frame): | ||
+ | def __init__(self, | ||
+ | wx.Frame.__init__(self, | ||
+ | # Panel 生成 | ||
+ | panel = wx.Panel(self, | ||
+ | # Panel に [閉じる] ボタンを追加 | ||
+ | btnClose = wx.Button(panel, | ||
+ | # ボタンの位置を設定 | ||
+ | btnClose.SetPosition((100, | ||
+ | # クリックイベントにイベントハンドラをバインド | ||
+ | self.Bind(wx.EVT_BUTTON, | ||
+ | |||
+ | # [閉じる] ボタンクリック時 | ||
+ | def btnClose_Click(self, | ||
+ | # 閉じる | ||
+ | self.Close(True) | ||
+ | |||
+ | # PyWxHelloApp クラス(wxApp から派生) | ||
+ | class PyWxHelloApp(wx.App): | ||
+ | def OnInit(self): | ||
+ | # PyWxHelloFrame クラスを生成(タイトル、サイズを指定) | ||
+ | mainFrame = PyWxHelloFrame(None, | ||
+ | # トップウインドウとして設定 | ||
+ | self.SetTopWindow(mainFrame) | ||
+ | # 表示 | ||
+ | mainFrame.Show(True) | ||
+ | # 正常終了 | ||
+ | return True | ||
+ | |||
+ | # メイン処理 | ||
+ | def main(): | ||
+ | # PyWxHelloApp クラスを生成 | ||
+ | app = PyWxHelloApp(False) | ||
+ | # メインループを開始 | ||
+ | app.MainLoop() | ||
+ | |||
+ | # スクリプト起動時にmain()を実行 | ||
+ | if __name__ == " | ||
+ | main() | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | サンプルアプリケーションの実行。\\ | ||
+ | <WRAP prewrap 100%> | ||
+ | < | ||
+ | $ python PyWxHelloMain.py | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== wx.html2.WebView サンプル ==== | ||
+ | {{: | ||
+ | |||
+ | <WRAP prewrap 100% # | ||
+ | <code python PyWxWebView.py> | ||
# | # | ||
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
行 319: | 行 381: | ||
app.MainLoop() | app.MainLoop() | ||
</ | </ | ||
+ | </ | ||
+ | |||
+ | サンプルアプリケーションの実行。\\ | ||
+ | <WRAP prewrap 100%> | ||
+ | < | ||
+ | $ python PyWxWebView.py</ | ||
</ | </ | ||
行 382: | 行 450: | ||
[[https:// | [[https:// | ||
[[https:// | [[https:// | ||
+ | |||
+ | ==== 付録 ==== | ||
+ | [[tw> | ||
+ | |||