Π Π°Π·Π½ΠΎΠ΅

Python wxpython 3: wxPython Downloads | wxPython

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wxPython для Python 3? Ru Python

На вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ установлСны Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΈΡ‚ΠΎΠ½Π° (3.4.1 ΠΈ 2.7.5). НС ΠΎΠΆΠΈΠ΄Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚, установлСнный Π² ΠΎΠ΄Π½ΠΎΠΌ python (wxPython 3.0.1.1 Π½Π° python 2.7.5), автоматичСски, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступным Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠΈΡ‚ΠΎΠ½Π΅.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, wxPython (classic) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Python 3. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ wxPython Phoenix смог это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

EDIT : Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ способ (by @RobinDunn) для установки wxPython (сорт Phoenix, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° 2.7 ΠΈ 3, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π½Π° PyPI ) Π² настоящСС врСмя:

 pip install wxPython 

Если Ρƒ вас установлСна ​​вСрсия для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

 pip uninstall wxPython_Phoenix 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· снимков wxPython Phoenix Π² Python 3.4.1. Однако ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Phoenix Π½Π΅ Π½Π° 1000% совмСстим с классикой, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΡ‹Ρ‚Π°Ρ‚ΡŒ Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ ΠΈΠΊΠΎΡ‚Ρƒ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ использовании классичСского ΠΊΠΎΠ΄Π° ( Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ).

ПолноС описаниС / описаниС ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ wxPython wiki ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ссылкС:

Установка wxPython-Phoenix с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip

Π•ΡΡ‚ΡŒ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ²:

  • Ρ‡Ρ‚ΠΎ pip / setuptool достаточно Π½ΠΎΠ²Ρ‹ΠΉ (> 6.xx /> 12.xx)

  • Ρ‡Ρ‚ΠΎ сборки ΡΠ²Π»ΡΡŽΡ‚ΡΡ Β«Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈΒ», ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, pip отказываСтся Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ: Π² основном Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ --pre ΠΏΡ€ΠΈ установкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip.

  • Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ SSL --trusted-host wxpython.org (большС Π½Π΅ трСбуСтся Π² соврСмСнных вСрсиях, Π³Π΄Π΅ https Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ).

Полная команда для машин Windows:

 C:\python27\scripts\pip.exe install --upgrade --pre -f https://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ это установит wxPython Phoenix для Python 2.7.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wxPython с вашим Python 3.4x, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wxPython Phoenix, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Для Π΅Π³ΠΎ установки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

 pip install -U --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π» послС послСднСго ‘/’ ΠΈ wxPython_Phoenix

Как каТСтся, wxPython Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ для Python 3, хотя Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΌΠΎΠΆΠ΅Ρ‚ это ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ wx Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² sys.path Python 3.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈΠ±ΠΎ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ Π½Π° использованиС wxPython ΠΈΠ· Python 2.7, Π»ΠΈΠ±ΠΎ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° эту запись SO: всС Π΅Ρ‰Π΅ Π½Π΅Ρ‚ wxPython для Python 3 (ΠΈΠ»ΠΈ 3.3)? Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» @ nepix32.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Python 3. Π’ΠΎΡ‚ список .

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свой sys.path Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅:

 import sys sys.path 

Если Ρƒ вас Π½Π΅Ρ‚ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ ссылки Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, это Π½Π΅ сработаСт.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Lib / site-packages Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ python, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ wx ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ установлСн Π½Π° вашСм python 3. (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с Β«wx-3.0Β»)

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ€Π°Π½Π΅Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ. Но Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сработало для мСня сСгодня (1 июня 2017 Π³ΠΎΠ΄Π°), Π±Ρ‹Π»ΠΎ:

 pip install - U - - pre - f https://wxpython.org/Phoenix/snapshot-builds/ wxPython 

ВсСгда провСряйтС Readme.txt для этого …

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxPython? — CodeRoad

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я искал Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° Python, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄ для ΠΌΠΈΠ³Π°ΡŽΡ‰Π΅Π³ΠΎ тСкста ΠΈΠ»ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° я ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π» ΠΈΡ… Π² своС ΠΎΠΊΠ½ΠΎ, Ρ‚Π°ΠΌ Π±Ρ‹Π»ΠΈ постоянныС синтаксичСскиС ошибки. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… прямо, Π½ΠΎ ΠΎΠ΄Π½Π° ошибка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ», Π±Ρ‹Π»Π° «Π½Π΅Ρ‚ модуля с ΠΈΠΌΠ΅Π½Π΅ΠΌ wx». Π― ΡƒΠ·Π½Π°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, установив wxPython. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ я ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» всС 4 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ сработал для мСня. Какой ΠΈΠ· Π½ΠΈΡ… я Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Windows?

Бпасибо

python

windows

download

wxpython

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ


oisinvg Β  Β 

29 августа 2015 Π² 10:15

9 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²


  • ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxpython Π½Π° Mac OSX

    Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxpython Π½Π° свой Mac OSX 10.8.3. Π― Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽ ΠΎΠ±Ρ€Π°Π·Ρ‹ дисков с ΠΈΡ… страницы Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ mount это. Когда я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ сообщСниС ΠΎΠ± ошибкС, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚. Π•ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ прСдлоТСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ я ΠΌΠΎΠ³Ρƒ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ? Π― Ρ‚Π°ΠΊΠΆΠ΅…

  • Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ сСтки wxpython?

    Когда я создаю сСтку с wxpython, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ столбцов ΠΊΠ°ΠΊ A, B, C… import wx import wx.grid as gridlib ######################################################################## class MyForm(wx.Frame): #———————————————————————- def…



9

Π­Ρ‚ΠΎ Π½Π° PyPI. По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° wxPython 4 поддСрТиваСтся Python 3.

К соТалСнию, Ρƒ PyPI Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ wx , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ застрял Π² вСрсии 3.0.3; ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ установитС вмСсто Π½Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ wxpython .

pip install wxpython

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ , Ρ‡Ρ‚ΠΎ pip автоматичСски построит для вас wxWidgets, Π½ΠΎ Π½Π΅ установит систСмныС зависимости wxWidgets, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GTK ΠΈ OpenGLu. Если Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ с ошибкой, посмотритС Π²Ρ‹ΡˆΠ΅ Π½Π° Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС:

checking for <something>... not found
checking for <something>... no
configure: error: <prereq> libraries not available
Error running configure
ERROR: failed building widgets

Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² вашСй систСмС.

Бписок ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… условий «official» ΠΈΠ· источника wxWidgets выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • dpkg-dev
  • build-essential
  • libjpeg-dev
  • libtiff-dev
  • libsdl1.2-dev
  • libgstreamer-plugins-base0.10-dev # ΠΈΠ»ΠΈ 1.0, Ссли доступно
  • libnotify-dev
  • freeglut3
  • freeglut3-dev
  • libsm-dev
  • libgtk-3-dev
  • libwebkitgtk-3.0-dev # ΠΈΠ»ΠΈ libwebkit2gtk-4.0-dev, Ссли доступно
  • libxtst-dev

ЀактичСскиС ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², прСдоставлСнныС вашим ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΈ, чСстно говоря, я Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ знаю Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ способа Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π²Π°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Kyle Strand Β  Β 

12 мая 2017 в 19:31



8

3 шага для установки WX-Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ pygame Π² python IDLE

  1. УстановитС python 3xxx Π² вашСй систСмС (Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ 3xxx ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡƒΡ‚ΠΈ).
  2. ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ python CLI, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ python ΠΈΠ»ΠΈ Π½Π΅Ρ‚.
  3. Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку (CMD).
    • Π²Π²Π΅Π΄ΠΈΡ‚Π΅ PIP, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, установлСн Π»ΠΈ pip ΠΈΠ»ΠΈ Π½Π΅Ρ‚.
  4. Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: pip ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ колСсо
  5. Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: pip install pygame
  6. Для установки wxpython
    Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: pip install-U wxPython

Π’ΠΎΡ‚ ΠΈ всС !!

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


sjrk Β  Β 

01 января 2018 Π² 01:19



5

Π’ соотвСтствии с инструкциСй Π½Π° домашнСй страницС :

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ вСрсия 6.0.8 pip ΠΈ 12.0.5 для setuptools.

УстановитС трСбования ΠΊ Linux, ΠΊΠ°ΠΊ описано Π² readme.rst at:

    https://github.com/wxWidgets/Phoenix/blob/master/README.rst 

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxPython-Phoenix (Linux):

       sudo pip install --upgrade --trusted-host wxpython.org --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

УстановитС wxPython-Phoenix (Windows, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ скрипта):

       C:\python27\scripts\pip.exe install --upgrade  --trusted-host wxpython.org --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Sergei Β  Β 

25 апрСля 2016 Π² 13:40


  • Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxpython Π½Π° OS X 10.11?

    Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxpython 3.0.1.1 Π½Π° свою OS X 10.11.3, python 2.7 . Π― ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΌΠ½ΠΎΠ³ΠΎ способов, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ прСуспСл. —ΠΌΠ΅Ρ‚ΠΎΠ΄, описанный Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС wxpython, Π½Π΅ удался Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ бСзопасности ΠΈ использовании установки ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π½Π°ΠΊΠΎΠ½Π΅Ρ† я попытался ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ…

  • НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ wxpython

    Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ Debian Stable Linux ΠΈ python 3.5 ΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ wxpython (phoenix), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: pip3 install —upgrade wxpython Однако ΠΎΠ½ останавливаСтся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ошибкой: checking for CAIRO… yes checking for cairo_push_group… yes checking for GST… configure:…



1

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ wxPython GUI, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ страницу ( https://wxpython.org/Phoenix/snapshot-builds/ ), которая содСрТит ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ снимки сборки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ wxPython (вСрсия Phoenix) Π² зависимости ΠΎΡ‚ вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ вСрсии Python, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π—Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ скачали ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ для вашСй систСмы ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ python, просто установитС Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip. Π’ ΠΌΠΎΠ΅ΠΌ случаС я Π²Ρ‹Π±Ρ€Π°Π» ΠΈΠΌΠ΅Π½Π½ΠΎ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ (wxPython_Phoenix-3.0.3.dev2811+ecc4797-cp36-cp36m-win_amd64.whl):

pip install wxPython_Phoenix-3.0.3.dev2811+ecc4797-cp36-cp36m-win_amd64.whl

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ установлСн Π² ΠΏΠ°ΠΏΠΊΠ΅ site-packages для вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ срСды python, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅:

pip freeze

Π­Ρ‚ΠΎ всС!

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Guiloga Β  Β 

06 ΠΌΠ°Ρ€Ρ‚Π° 2017 Π² 10:50



0

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ вСрсии вашСй Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ wxPython ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ установлСнной языковой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ python.

Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ wxPython Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, построСнных ΠΏΡ€ΠΎΡ‚ΠΈΠ² python 3. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ , Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ портирования python 3 всС Π΅Ρ‰Π΅ продолТаСтся.

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚Π΅, я Π±Ρ‹ придСрТивался 32-Π±ΠΈΡ‚Π½ΠΎΠΉ вСрсии Π½Π° windows, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ IIRC, MySQLdb), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с 64 bit python.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ python2.7 для windows x86 ΠΈ » wxPython3.0-win32-py27 32-bit Python 2.7″

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


rgammans Β  Β 

29 августа 2015 Π² 10:37



0

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ wxpython ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.
Для python 2.7 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ wxPython3.0-win32-3.0.2.0-py27

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Jyoti Panda Β  Β 

22 января 2019 Π² 17:42



0

Π― установил wxPython ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ зависимостСй построитСля экспСримСнтов PsychoPy, ΠΈ Ρƒ мСня Π±Ρ‹Π»ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ установкой Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС. Но это Π±Ρ‹Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сработало для мСня Π² ΠΊΠΎΠ½Ρ†Π΅. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ubuntu 16.04, python 3.5, pip3 19.0.3

pip3 install -U     -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04     wxPython --user

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Tokaalmighty Β  Β 

21 ΠΌΠ°Ρ€Ρ‚Π° 2019 Π² 19:59



0

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π° Π² openSuse Π³ΠΎΠ΄Ρƒ просто с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

zypper in python-wxWidgets-3_0-devel

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° pip install Ρ€Π°Π½ΡŒΡˆΠ΅ доставляла ΠΌΠ½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ…Π»ΠΎΠΏΠΎΡ‚ (ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹, ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ wx/setup.h , https://github.com/wxWidgets/Phoenix/issues/1644 , error: aggregate β€˜wxGLAttributes _NullGLAttributes’ has incomplete type and cannot be defined ΠΈ Ρ‚. Π΄.).

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Friedrich Β  Β 

02 сСнтября 2020 Π² 10:09



0

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Conda, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ срСду с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wx ΠΎΠ΄Π½ΠΎΠΉ строкой:

$ conda create -n wxenv python=3 wxPython
Solving environment: done

## Package Plan ##

  environment location: /home/user/.conda/envs/wxenv

  added / updated specs: 
    - python=3
    - wxpython


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    [...]
Proceed ([y]/n)? 

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


nosbor Β  Β 

28 июля 2020 в 10:49


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxPython с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ virtualenv

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ python GUI ΠΈ Ρ€Π΅ΡˆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wxPython ΠΊΠ°ΠΊ GUI, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ я Ρ…ΠΎΡ‡Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ virtualenv ( с…

НС показывая фокуса Π² wxPython?

Π― Π½Π΅ знаю, Ссли это Π³Π»ΡƒΠΏΡ‹ΠΉ вопрос, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ способ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ фокус Π² wxPython? НапримСр, я построил простой GUI с нСсколькими ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΠΈ я Π½Π΅ Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ…

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxPython Π² virtualenv

Π― Π½Π°Ρ…ΠΎΠΆΡƒΡΡŒ Π½Π° машинС Mac OSX Lion ΠΈ скачал wxPython-src-2.9.3.1.tar.bz2. Π—Π°Ρ‚Π΅ΠΌ я сдСлал ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ( ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сообщСния Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ): $ tar -xjf wxPython-src-2.9.3.1.tar.bz2 $ cd…

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxpython Π½Π° Mac OSX

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxpython Π½Π° свой Mac OSX 10.8.3. Π― Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽ ΠΎΠ±Ρ€Π°Π·Ρ‹ дисков с ΠΈΡ… страницы Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ mount это. Когда я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ сообщСниС ΠΎΠ± ошибкС, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚…

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ сСтки wxpython?

Когда я создаю сСтку с wxpython, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ столбцов ΠΊΠ°ΠΊ A, B, C… import wx import wx.grid as gridlib ########################################################################…

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxpython Π½Π° OS X 10.11?

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxpython 3.0.1.1 Π½Π° свою OS X 10.11.3, python 2.7 . Π― ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΌΠ½ΠΎΠ³ΠΎ способов, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ прСуспСл. —ΠΌΠ΅Ρ‚ΠΎΠ΄, описанный Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС wxpython, Π½Π΅ удался Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ…

НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ wxpython

Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ Debian Stable Linux ΠΈ python 3.5 ΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ wxpython (phoenix), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: pip3 install —upgrade wxpython Однако ΠΎΠ½ останавливаСтся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ…

wxPython установка Π² Python27

Π― пытался ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxPython Π² Python27. Π― Π½Π°Π±Ρ€Π°Π» Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Python27 dir ΠΈ установил Π΅Π΅. pip install wxPython Π― ΠΎΠΆΠΈΠ΄Π°Π», Ρ‡Ρ‚ΠΎ wxPython Π±ΡƒΠ΄Π΅Ρ‚ установлСн Π² Python27. Но wxPython Π½Π΅…

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxPython 2.8 Π½Π° Ubuntu 18.04?

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxPython 2.8 Π½Π° систСму Ubuntu 18.04. Но ΠΎΠ½ Ρ‚Π΅Ρ€ΠΏΠΈΡ‚ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ с ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ошибкой : $ sudo apt install python-wxgtk2.8 Reading package lists… Done Building dependency tree…

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Wxpython с Anaconda (windows)?

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Anaconda для Python, ΠΈ Ρƒ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с поиском Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰Π΅Π³ΠΎ руководства ΠΏΠΎ установкС Wxpython. Из Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я собрал ΠΏΠΎ кусочкам, я скачал Wxpython ΠΈΠ· condaforge, Π° Π·Π°Ρ‚Π΅ΠΌ…

Знакомство с wxPython. Π§Π°ΡΡ‚ΡŒ пСрвая. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги / Π₯Π°Π±Ρ€

Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток!

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Когда-Ρ‚ΠΎ я Π²Π°ΠΌ ΡƒΠΆΠ΅ рассказывал ΠΎ связкС Ruby/Tk. БСгодня я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ знакомство с «быстрыми интСрфСйсами». На этот Ρ€Π°Π· я расскаТу Π²Π°ΠΌ ΠΎ wxPython, Π° ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π° Python.
На самом Π΄Π΅Π»Π΅, wxPython являСтся лишь ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΎΠΉ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ wxWidgets, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ прСдставляСт графичСский Ρ‚ΡƒΠ»ΠΊΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ кроссплатформСнныС прилоТСния.

Π§Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ xWidgets

wxWidgets (Ρ€Π°Π½Π΅Π΅ извСстная ΠΊΠ°ΠΊ wxWindows) β€” это кросс-платформСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° инструмСнтов с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ кроссплатформСнных Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² частности для построСния графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (GUI).
Она Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ GUI. Она Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ классов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с графичСскими изобраТСниями, HTML, XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ, Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами, процСссами, подсистСмами ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°, сСтями, классы для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ многопоточности, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°ΠΌΠΏΠΎΠ² ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов.

Π˜Ρ‚Π°ΠΊ, приступим

Π§Ρ‚ΠΎ ΠΆΠ΅, Π½Π°Ρ‡Π½Ρ‘ΠΌ. А Π½Π°Ρ‡Π½Ρ‘ΠΌ ΠΌΡ‹ ΠΏΠΎ порядку β€” напишСм Hello, World, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ построСния прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wxPython. Π’ΠΎΡ‚ ΠΎΠ½, ΠΏΡ€Π΅Π΄ Π²Π°ΠΌΠΈ , Π³ΠΎΡΡƒΠ΄Π°Ρ€ΡŒ:

import wx

app = wx.App()
wnd = wx.Frame(None, wx.ID_ANY, "I'm the title")
wnd.Show(True)
app.MainLoop()

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄.

Π‘Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ запустим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ Ρƒ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. Π‘ΠΊΠ°Π·Π°Π½ΠΎ β€” сдСлано.

Π Π°Π·Π±ΠΎΡ€ ΠΏΠΎΠ»Ρ‘Ρ‚ΠΎΠ²

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ€Π° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠžΠ²ΡΡΠ½ΠΊΡƒ, сэр!

import wx

Π’ΡƒΡ‚ всё Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ. Π’ΡƒΡ‚ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с wxPython.

app = wx.App()

Π—Π΄Π΅ΡΡŒ происходит созданиС экзСмпляра нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая впослСдствии ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°.

wnd = wx.Frame(None, wx.ID_ANY, "I'm the title")

Π”ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ здСсь Π½Π°ΠΌ слСдуСт Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ остановится ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ΄ БобствСнно, здСсь ΠΌΡ‹ создаём экзСмпляр нашСй Ρ„ΠΎΡ€ΠΌΡ‹ (Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ wxWidgets это ΠΎΠΊΠ½ΠΎ).
Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

  1. Parent β€” наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΎΠ½ΠΎ Π½Π΅ наслСдованно ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.
  2. Id β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой Π½ΠΈΡ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π°. Π—Π΄Π΅ΡΡŒ Π½Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, достаточно лишь ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ wx.ID_ANY, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сам ΠΎΠ±ΠΎ всём позаботится.
  3. Title β€” Π±Π΅Π· коммСнтариСв… Π­Ρ‚ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ нашСго ΠΎΠΊΠ½Π°.
wnd.Show(True)

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ нашС ΠΎΠΊΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ.

app.MainLoop()

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, запускаСм Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’ΠΎΡ‚ ΠΈ всё…

НачинаСм ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ ознакомились с Classes Reference ΠΈ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты GUI доступны Π² wxPython. Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π½Π°ΠΌ Π²Π·ΡΡ‚ΡŒ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ цСлостноС ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅. Π₯ΠΎΡ€ΠΎΡˆΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ с Π²Π°ΠΌΠΈ напишСм ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

ДобавляСм ΠΏΠΎΠ»Π΅ для Π²Π²ΠΎΠ΄Π° тСкста

Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, тСкстовоС ΠΏΠΎΠ»Π΅ Π² wxPython прСдставлСнно классом TextCtrl. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, тСкстовоС ΠΏΠΎΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ создаём являСтся ΠΎΠ΄Π½ΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ, Ρ‚.Π΅. запись тСкста Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½Ρƒ строку.
Π”Π°Π²Π°ΠΉΡ‚Π΅ исправим это ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ style со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ TE_MULTILINE ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ TextCtrl. Код нашСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

import wx

class Window(wx.Frame):

	def __init__(self, parent, title):
		wx.Frame.__init__(self, parent, title = title, size = (300,250))
		self.control = wx.TextCtrl(self, style = wx.TE_MULTILINE)
		self.Show(True)

app = wx.App()
wnd = Window(None, "pyNote")
app.MainLoop()

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄.

Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ убСдимся, Ρ‡Ρ‚ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: совсСм Π·Π°Π±Ρ‹Π». Π₯ΠΎΡ‚Π΅Π» Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ я ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠ³Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ООП Π² Python, Ρ‚.ΠΊ. ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ self ΠΈΠ»ΠΈ class Window(wx.Frame) я Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π½Ρ‚, мСню Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π΄ΠΎΠ±Ρ€Ρ‹

Как-Ρ‚ΠΎ суховато выглядит наш с Π²Π°ΠΌΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π΄Π°? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Π½Ρ‘ΠΌ Π½Π΅Ρ‚Ρƒ Π΄Π°ΠΆΠ΅ мСню. Π”Π°Π²Π°ΠΉΡ‚Π΅ исправим ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ создадим мСню. Π’ этом Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного.

import wx

class Window(wx.Frame):

	def __init__(self, parent, title):
		wx.Frame.__init__(self, parent, title = title, size = (300,250))
		self.control = wx.TextCtrl(self, style = wx.TE_MULTILINE) # создаём тСкстовоС ΠΏΠΎΠ»Π΅
		self.Show(True)

		menu = wx.Menu() # создаём экзСмпляр мСню
		menu.Append(wx.ID_ABOUT,"About","Push the button to get an information about this application") # добавляСм ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΠΊ мСню
		menu.Append(wx.ID_EXIT,"Exit","Push the button to leave this application") # Π° ΠΊΠ°ΠΊ Π΅Ρ‰Ρ‘?
		bar = wx.MenuBar() # создаём Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ для мСню
		bar.Append(menu,"File") # добавляСм ΠΏΡƒΠ½ΠΊΡ‚ мСню
		self.SetMenuBar(bar) # ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это мСню Π½Π°Π΄ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π² нашСй Ρ„ΠΎΡ€ΠΌΠ΅
app = wx.App()
wnd = Window(None, "pyNote")
app.MainLoop()

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄.

А Π²ΠΎΡ‚ ΠΈ наш Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с мСню:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий

Но Ρ‡Ρ‚ΠΎ это? ΠœΡ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«ExitΒ», Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. Π§Ρ‚ΠΎ ΠΆΠ΅, ΠΏΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ достаточно Π²Π°ΠΆΠ½ΠΎΠΌΡƒ этапу β€” Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события. Π”ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами. НапримСр, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

def __init__(self, parent, title):
     self.Bind(wx.EVT_MENU, self.OnAbout, aboutItem)

Π”Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ ΠΊΠ»ΠΈΠΊΠ½Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Β«AboutΒ», Ρ‚ΠΎ наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ OnAbout.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ объявим эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π’Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ:

def OnAbout(self, e):
        dlg = wx.MessageDialog(self, "This is a mini editor keeping your text","About pyNote", wx.OK) # создаём Π²ΡΠΏΠ»Ρ‹Π²Π°ΡˆΠΊΡƒ
        dlg.ShowModal() # ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ окошко

Π’ΠΎΡ‚ ΠΈ всё. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ‚ΠΊΠ½Ρ‘ΠΌ Π² Β«AboutΒ», ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС:

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ стану, Π° скаТу лишь, что…

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄.

Монолог? НСт, Π΄ΠΈΠ°Π»ΠΎΠ³!

НС Π±ΡƒΠ΄Π΅ΠΌ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ пишСм ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ процСсс открытия/закрытия Ρ„Π°ΠΉΠ»ΠΎΠ². На ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π§ΠΈΠΏ ΠΈ Π”Π΅ΠΉΠ» FileDialog. Для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Β«OpenΒ» Π² мСню, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ Π΄ΠΈΠ°Π»ΠΎΠ³ открытия Ρ„Π°ΠΉΠ»Π° (функция OnOpen).
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр FileDialog с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. БСйчас всё ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅:

import wx
import os

class Window(wx.Frame):

    def __init__(self, parent, title):
        wx.Frame.__init__(self, parent, title = title, size = (300,250))
        self.control = wx.TextCtrl(self, style = wx.TE_MULTILINE)
        self.Show(True)

        menu = wx.Menu()
        openItem = menu.Append(wx.ID_ANY, "Open", "Push the button to open the file")
        aboutItem = menu.Append(wx.ID_ABOUT,"About","Push the button to get an information about this application")
        exitItem = menu.Append(wx.ID_EXIT,"Exit","Push the button to leave this application")
        bar = wx.MenuBar()
        bar.Append(menu,"File")
        self.SetMenuBar(bar)
        self.Bind(wx.EVT_MENU, self.OnOpen, openItem)
        self.Bind(wx.EVT_MENU, self.OnAbout, aboutItem)
        self.Bind(wx.EVT_MENU, self.OnExit, exitItem)

    def OnAbout(self, e):
        aboutDlg = wx.MessageDialog(self, "This is a mini editor keeping your text","About pyNote", wx.OK)
        aboutDlg.ShowModal()

    def OnOpen(self, e):
        self.dirname = " "
        openDlg = wx.FileDialog(self, "Choose a file to open", self.dirname, " ", "*.*", wx.OPEN) # создаём Π΄ΠΈΠ°Π»ΠΎΠ³
        if openDlg.ShowModal() == wx.ID_OK: # ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ„Π°ΠΉΠ»Π°
                self.filename = openDlg.GetFilename() # Π»ΠΎΠ²ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°
                self.dirname = openDlg.GetDirectory() # ΠΈ ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ находится
                f = open(os.path.join(self.dirname,self.filename), "r") # ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»
                self.control.SetValue(f.read()) # ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π² тСкстовом ΠΏΠΎΠ»Π΅
                f.close()
                wnd.SetTitle(self.filename + " - pyNote") # мСняСм заголовок окна

app = wx.App()
wnd = Window(None, "pyNote")
app.MainLoop()

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄.

Π’ΠΎΡ‚ ΠΈ всё. Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим нашС Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅. И, вниманиС… Барабанная Π΄Ρ€ΠΎΠ±ΡŒβ€¦ НаТимаСм Π½Π° Β«OpenΒ» ΠΈ видим…

И ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ файл…

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΎΡ‚ ΠΈ всё Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. БСгодня ΠΌΡ‹ познакомились с Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹ΠΌ Ρ‚ΡƒΠ»ΠΊΠΈΡ‚ΠΎΠΌ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ wxPython, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹Π΅ прилоТСния с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ сил.

Π§Ρ‚ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ

wxWidgets β€” ВикипСдия.
Getting Started β€” wxPyWiki.
ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт wxPython.
wxPython on Zetcode.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ слСдуСт!

wxpython β€” wxPython для Python 3

ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ новости ΠΏΠΎ этому вопросу ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ Π² wxpython wiki . Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ нСсколько ΠΏΡ€Π°Π²ΠΎΠΊ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠΉ)

Π”Π΅ΠΊΠ°Π±Ρ€ΡŒ 2011: ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ новости! ΠŸΠ΅Ρ€Π²Π°Ρ сборка of ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Phoenix Π½ΠΎΠ²Ρ‹ΠΉ wxPython, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Python 2.x ΠΈ 3.x. Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ сборки для Python 2.7.

ΠΠΎΡΠ±Ρ€ΡŒ 2011: послСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠΊΠΈ — с 19 апрСля 2011 Π³ΠΎΠ΄Π°. == НСт новостСй для 3.x πŸ™

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ дороТная ΠΊΠ°Ρ€Ρ‚Π° wxPython

  • wxPython Β«Next GenerationΒ»: (продолТаСтся) Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ послСдних Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚ пСриодичСски ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΈΡΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ способы создания ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ wxPython (a.k.a ΠΊΠΎΠ΄ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ C++). Для этой Ρ†Π΅Π»ΠΈ Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π° опрСдСлСнная проСктная Ρ€Π°Π±ΠΎΡ‚Π°, ΠΈ Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ. Π’ Π΄Π²ΡƒΡ… словах, Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΏΡ€Π΅Π²Π·ΠΎΡˆΠ»ΠΎ всС ΠΌΠΎΠΈ оТидания, ΠΈ я Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽ, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ способом Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ цСлях ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ wxPython ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ProjectPhoenix, Π° исходный ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ wx. Π₯отя Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ упростит обслуТиваниС wxPython, всС Π΅Ρ‰Π΅ прСдстоит ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ, ΠΈ поэтому ΠΎΠ½ Π½Π΅ станСт Π·Π°Π΄Π°Ρ‡Π΅ΠΉ с Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ большС ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… частСй Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. Π’Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ выпуск 2.9.x ReleaseSeries Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΡ‚Π°Ρ€ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ . #

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Python 3.x: (нСизвСстно) ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСйствия, выполняСмыС для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Next Generation, упростят Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠ°ΠΊ Python 2.x, Ρ‚Π°ΠΊ ΠΈ 3.x Π² ΠΎΠ΄Π½ΠΎΠΌ источникС. Π΄Π΅Ρ€Π΅Π²ΠΎ, поэтому я ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽ ΠΌΠ½ΠΎΠ³ΠΎ усилий Π½Π° ΠΏΠΎΡ€Ρ‚Π΅ Python 3.x, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ выбросят, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сдСлан ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ NG. Однако Ссли этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния останСтся Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ слишком Π΄ΠΎΠ»Π³ΠΎ, я, вСроятно, Π²Π΅Ρ€Π½ΡƒΡΡŒ ΠΊ этому ΠΏΡƒΠ½ΠΊΡ‚Ρƒ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Ρƒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ (Π½ΠΎΡΠ±Ρ€ΡŒ 2011) wxPython, послС Django, — самый ΠΆΠ΅Π»Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ для Python 3-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ²:

Π’ΠΎΡ‚ 15 Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто Π½ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ хотят Python 3 слуТба ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

ΠŸΠ°ΠΊΠ΅Ρ‚ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ голосов
Π”ΠΆΠ°Π½Π³ΠΎ 1970
wxPython 941
Matplotlib 875
………………
………………Β 

Июнь 2010: Π² py3k Π½Π΅Ρ‚ расписания для wxpython

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ дороТная ΠΊΠ°Ρ€Ρ‚Π° wxPython

  • wxPython Β«Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅Β»: (Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅) Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ послСдних Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚ пСриодичСски ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΈΡΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ способы Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ wxPython (a.k.a ΠΊΠΎΠ΄ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ C++). Для этой Ρ†Π΅Π»ΠΈ Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π° опрСдСлСнная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΈ Π½Π°Ρ‡Π°Π»Π°ΡΡŒ нСкоторая Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ инструмСнтами. Однако, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ этим ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Π»Π°ΡΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, я Ρ€Π΅ΡˆΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π΅ ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я ΠΌΠΎΠ³ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ исправлСния ΠΈΠ· сСрии выпусков 2.9 Π² Ρ€ΡƒΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² wxPython. Π― оТидаю, Ρ‡Ρ‚ΠΎ смогу Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ этой Ρ†Π΅Π»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя послС выпуска 2.9.1. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΏΠ»Π°Π½Ρ‹ ΠΈ инструмСнты Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹, я ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΡŽ Π΅Π΅ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Python 2.7: (сСйчас). ΠœΠ°ΡˆΠΈΠ½Ρ‹ сборки Windows ΠΈ OSX Π±Ρ‹Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Π΄ΠΎ Python 2.7, Π° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для 2.7 Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² 2.8.11.0 ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сборки ΠΈ выпуски.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Python 3.x: (нСизвСстно) Π― надСюсь, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ сдСланы для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Next Generation, упростят Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Python 2.x ΠΈ 3.x Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ исходных тСкстов, поэтому я ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽ ΠΌΠ½ΠΎΠ³ΠΎ усилий Π½Π° ΠΏΠΎΡ€Ρ‚Π΅ Python 3.x, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ выбросят, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сдСлан ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ NG. Однако Ссли этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния останСтся Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ слишком Π΄ΠΎΠ»Π³ΠΎ, я, вСроятно, Π²Π΅Ρ€Π½ΡƒΡΡŒ ΠΊ этому ΠΏΡƒΠ½ΠΊΡ‚Ρƒ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Ρƒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.Β 

wxPython in Action. Π“Π»Π°Π²Π° 9. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π°. Π”ΠΈΠ°Π»ΠΎΠ³ΠΈ. (Ρ‡Π°ΡΡ‚ΡŒ 3)

9.3 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мастСров

ΠœΠ°ΡΡ‚Π΅Ρ€ — это Π½Π°Π±ΠΎΡ€ простых Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², соСдинённых ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Π˜Ρ… Ρ†Π΅Π»ΡŒ — провСсти ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΈ получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ нСбольшими частями. На рисункС 9.11 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ простого мастСра, содСрТащСго ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π²ΠΏΠ΅Ρ€Π΅Π΄» ΠΈ «Π½Π°Π·Π°Π΄».

рис 9.11

Π’ wxPython мастСр прСдставляСт ΠΈΠ· сСбя Π½Π°Π±ΠΎΡ€ страниц, управляСмый экзСмпляром класса wx.wizard.Wizard. Π­Ρ‚ΠΎΡ‚ экзСмпляр ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ события, создаваСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π‘Π°ΠΌΠΈ ΠΆΠ΅ страницы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя экзСмпляры классов wx.wizard.WizardPageSimple ΠΈΠ»ΠΈ wx.wizard.WizardPage. Π’ ΠΎΠ±ΠΎΠΈΡ… случаях это всСго лишь экзСмпляры класса wx.Panel с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ для обслуТивания ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ страниц. Π Π°Π·Π½ΠΈΡ†Π° ΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя классами Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ wx.wizard.WizardPage позволяСт динамичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΎΠΉ страницС слСдуСт ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ для wx.wizard.WizardPageSimple ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π° Π΅Ρ‰Ρ‘ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания мастСра. Листинг 9.11 ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ создания простого мастСра:

Листинг 9.11

import wx
import wx.wizard
# создаём ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ страницу
class TitledPage(wx.wizard.WizardPageSimple):
    def __init__(self, parent, title):
        wx.wizard.WizardPageSimple.__init__(self, parent)
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.SetSizer(self.sizer)
        titleText = wx.StaticText(self, -1, title)
        titleText.SetFont(
        wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        self.sizer.Add(titleText, 0,
            wx.ALIGN_CENTRE | wx.ALL, 5)
        self.sizer.Add(wx.StaticLine(self, -1), 0,
            wx.EXPAND | wx.ALL, 5)
if __name__ == "__main__":
    app = wx.PySimpleApp()
    # создаём экзСмпляр мастСра
    wizard = wx.wizard.Wizard(None, -1, "Simple Wizard")
    # создаём страницы мастСра
    page1 = TitledPage(wizard, "Page 1")
    page2 = TitledPage(wizard, "Page 2")
    page3 = TitledPage(wizard, "Page 3")
    page4 = TitledPage(wizard, "Page 4")
    page1.sizer.Add(wx.StaticText(page1, -1,
        "Testing the wizard"))
    page4.sizer.Add(wx.StaticText(page4, -1,
        "This is the last page."))
    # Π·Π°Π΄Π°Ρ‘ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ страниц
    wx.wizard.WizardPageSimple_Chain(page1, page2)
    wx.wizard.WizardPageSimple_Chain(page2, page3)
    wx.wizard.WizardPageSimple_Chain(page3, page4)
    # Π·Π°Π΄Π°Ρ‘ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ мастСра
    wizard.FitToPage(page1)
    # запускаСм мастСра
    if wizard.RunWizard(page1):
        print "Success"
  1. Для наполнСния мастСра ΠΌΡ‹ создаём страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ фиксированный тСкст. Π’Ρ‹, скорСС всСго, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сюда Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ элСмСнты, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  2. Ѐункция wx.wizard.WizardPageSimple_Chain() являСтся Π±ΠΎΠ»Π΅Π΅ простым способом построСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² SetNext() ΠΈ SetPrev() страниц, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΉ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².
  3. Π’Ρ‹Π·ΠΎΠ² FitToSize() устанавливаСт Ρ€Π°Π·ΠΌΠ΅Ρ€ мастСра Π½Π° основании страницы, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π΅ΠΌΡƒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈ всСх страниц, доступных ΠΎΡ‚ Π½Π΅Ρ‘ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ лишь послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ установитС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ страниц.
  4. АргумСнтом ΠΌΠ΅Ρ‚ΠΎΠ΄Π° wizard.RunWizard() слуТит страница, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся запуск мастСра. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ мастСр сам ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ страницы, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ установлСна ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ страница. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True возвращаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΡˆΡ‘Π» всС страницы ΠΈ Π½Π°ΠΆΠ°Π» Π² ΠΊΠΎΠ½Ρ†Π΅ «Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ».

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ экзСмпляра wx.wizard.Wizard — ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг Π² использовании мастСра. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ класса выглядит Ρ‚Π°ΠΊ:

wx.wizard.Wizard(parent, id=-1, title=wx.EmptyString, bitmap=wx.NullBitmap, pos=wx.DefaultPosition)

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ parent, id, title ΠΈ pos ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ смысл, Ρ‡Ρ‚ΠΎ ΠΈ Π² конструкторС wx.Panel. Если ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ bitmap, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС. Из доступных Ρ„Π»Π°Π³ΠΎΠ² стиля Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ wx.WIZARD_EX_HELPBUTTON, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠΎΠΌΠΎΡ‰ΠΈ. Π­Ρ‚ΠΎ Ρ„Π»Π°Π³ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ стиля ΠΈ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ двухступСнчатый ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, описанный Π² Π³Π»Π°Π²Π΅ 8.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, для установки Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ FitToSize(), ΠΊΠ°ΠΊ Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π½ΠΎ Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π’Π°ΠΌ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ самому с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° SetPageSize(), ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅ΠΌΡƒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ»ΠΈ экзСмпляр wx.Size. Для получСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ GetPageSize(). Π’ любом случаС Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ лишь для Ρ‚ΠΎΠΉ части мастСра, которая ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для отобраТСния страниц, сам мастСр Π±ΡƒΠ΄Π΅Ρ‚ большСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·-Π·Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ «Π΄Π°Π»Π΅Π΅» ΠΈ «Π½Π°Π·Π°Π΄» — ΠΏΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°).

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ мастСра ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΅Π³ΠΎ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²: ΠΌΠ΅Ρ‚ΠΎΠ΄ GetCurrentPage() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡƒΡŽ страницу, Ссли ΠΆΠ΅ мастСр Π΅Ρ‰Ρ‘ Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΎΠ½ Π²Π΅Ρ€Π½Ρ‘Ρ‚ None. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ тСкущая страница ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² HasNextPage() ΠΈ HasPrevPage(). Для запуска мастСра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ RunWizard(), ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· нашСго листинга.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΎΠ΄ΡƒΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ события, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π’Ρ‹ сами ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ; ΠΎΠ½ΠΈ пСрСчислСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅. КаТдоС ΠΈΠ· этих событий относится ΠΊ классу wx.wizard.WizardEvent, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ доступно Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. GetPage() Π²Π΅Ρ€Π½Ρ‘Ρ‚ Π½Π°ΠΌ страницу, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ создано событиС, Π° GetDirection() Π²Π΅Ρ€Π½Ρ‘Ρ‚ True, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ двиТСтся Π²ΠΏΠ΅Ρ€Ρ‘Π΄ ΠΏΠΎ мастСру, ΠΈ False Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
EVT_WIZARD_CANCELБоздаётся, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΎΡ‚ΠΌΠ΅Π½Π°». Π­Ρ‚ΠΎ событиС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Veto(). Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π΄ΠΈΠ°Π»ΠΎΠ³ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.
EVT_WIZARD_FINISHEDБоздаётся, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π³ΠΎΡ‚ΠΎΠ²ΠΎ» Π² ΠΊΠΎΠ½Ρ†Π΅ мастСра.
EVT_WIZARD_HELPБоздаётся, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ справки
EVT_WIZARD_PAGE_CHANGEDБоздаётся послС смСны страницы для постобработки
EVT_WIZARD_PAGE_CHANGINGБоздаётся ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ измСнСния страницы, Π½ΠΎ страница Π΅Ρ‰Ρ‘ Π½Π΅ измСнилась. Π­Ρ‚ΠΎ событиС Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Veto(), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ» Π½Π΅ всС поля.

Класс wx.wizard.WizardPageSimple обрабатываСтся Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ панСль. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ этого класса позволяСт Π’Π°ΠΌ сразу ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ страницу:

wx.wizard.WizardPageSimple(parent=None, prev=None, next=None)

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Ссли Π’Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈ создании — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ SetPrev() ΠΈ SetNext(). Если ΠΆΠ΅ ΠΈ с этим Ρƒ Вас Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ — Π’Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ функция wx.wizard.WizardPageSimple_Chain(), которая устанавливаСт взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ двумя страницами.

Π‘ΠΎΠ»Π΅Π΅ слоТная вСрсия страниц мастСра, wx.wizard.WizardPage, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌ отличаСтся ΠΎΡ‚ рассмотрСнного Π½Π°ΠΌΠΈ. Но вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ явно ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ страниц, ΠΎΠ½Π° прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ слСдования ΠΏΠΎ мастСру. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ класса выглядит Ρ‚Π°ΠΊ:

wx.WizardPage(parent, bitmap=wx.NullBitmap, resource=None)

Π—Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ bitmap пСрСопрСдСляСт свой Π°Π½Π°Π»ΠΎΠ³ Π² конструкторС мастСра. resource позволяСт Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ страницу ΠΈΠ· рСсурсов wxPython. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ слСдования ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ GetPrev() ΠΈ GetNext(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² случаях, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ страниц опрСдСляСтся ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

9.4 ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ подсказок ΠΏΡ€ΠΈ запускС

МногиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ подсказки Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎ Ρ‚Π΅Ρ… возмоТностях, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈ Π½Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ. wxPython прСдоставляСт простой способ создания Ρ‚Π°ΠΊΠΈΡ… подсказок. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ Π½Π° рисункС 9.12 ΠΈ листингС 9.12 соотвСтствСнно.

рис 9.12

Листинг 9.12

import wx if __name__ == "__main__": app = wx.PySimpleApp() provider = wx.CreateFileTipProvider("tips.txt", 0) wx.ShowTip(None, provider, True)

Π£ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΠΌΠΈ совСтами. ΠŸΠ΅Ρ€Π²Π°Ρ создаёт wx.TipProvider:

wx.CreateFileTipProvider(filename, currentTip)

filename — имя Ρ„Π°ΠΉΠ»Π°, содСрТащСго эти совСты. currentTip — индСкс ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ совСта (нумСрация ΠΈΠ΄Ρ‘Ρ‚ с 0). ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ само Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ запусками.

Π€Π°ΠΉΠ» с совСтами — это простой тСкстовый Ρ„Π°ΠΉΠ», Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ совСт Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½Ρƒ строчку. ΠŸΡƒΡΡ‚Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π»ΠΈΠ½ΠΈΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с #. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ содСрТания Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°:

Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ совСты ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ.
Feel the force, Luke.

ΠŸΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊ совСтов (tip provider) являСтся экзСмпляром класса wx.PyTipProvider. Если Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свой подкласс класса wx.TipProvider ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ GetTip().

Π—Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ совСтов отвСтствСнна функция wx.ShowTip().

wx.ShowTip(parent, tipProvider, showAtStartup)

parent — Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ, Π° tipProvider — это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ создали Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ шагС. showAtStartup ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ‚ΠΎ, стоит Π»ΠΈ Π³Π°Π»ΠΎΡ‡ΠΊΠ° Π² чСкбоксС «ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ стартС», Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΎΠ½Π° Π½Π΅ слСдит, отказался Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ Π½ΠΈΡ… — это Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сами. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого чСкбокса, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ запускС вашСго прилоТСния, Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, сохранитС это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° wxPython! | wxPython

Начиная с этого выпуска, wxPython ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π½Π° отслСТиваниС wxWidgets.
главная Π²Π΅Ρ‚ΠΊΠ° (вСрсия 3.1.x) для исходного ΠΊΠΎΠ΄Π° wxWidgets, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ являСтся wxPython.
построСнный Π½Π° основС, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² исходныС Π°Ρ€Ρ…ΠΈΠ²Ρ‹ wxPython.

Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ послСдний выпуск, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для Python 2.7. Код Π±ΡƒΠ΄Π΅Ρ‚
вСроятно, Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π±Ρ‹Ρ‚ΡŒ совмСстимым с Python 2.7, Π½ΠΎ Π½Π΅Ρ‚
Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Ρ‹ усилия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊ ΠΈ Π±Ρ‹Π»ΠΎ.

  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† для wx.Font.AddPrivateFont ΠΊ дСмонстрации.

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для OSXEnableAutomaticQuoteSubstitution,
    OSXEnableAutomaticDashSubstitution ΠΈ OSXDisableAllSmartSubstitutions
    ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² wx.TextCtrl. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ OSXEnableAutomaticTabbing Π² wx.App.

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ wx.ColourDialogEvent, wx.DCTextBgColourChanger, wx.DCTextBgModeChanger,
    wx.grid.GridCellDateRenderer, wx.grid.GridCellDateEditor, wx.SystemAppearance,
    ΠΏΡ€.

  • МногиС ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ элСмСнты Π² wxWidgets ΠΈ wxPython ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚
    Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½.ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ протСстируйтС свой ΠΊΠΎΠ΄ Π² послСднСй вСрсии 4.0.x с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
    прСдупрСТдСния Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ класса, ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹
    ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ошибки Π² wx.lib.calendar: Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ навигация ΠΏΠΎ клавишам Ρ‡Π΅Ρ€Π΅Π· Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ мСсяцСв.
    Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ; клавиша Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ устанавливаСт Π΄Π°Ρ‚Ρƒ ΠΈ запускаСт событиС EVT_CALENDAR;
    API-интСрфСйсы setter Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π΄Π°Ρ‚Ρƒ # 1230.

  • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° использованиС wx.Overlay Π² инструмСнтС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ
    Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚ GTK3.

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ​​проблСма Π² wx.lib.agw.customtreectrl, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΌΠΎΠ³ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ
    застрял навсСгда # 1235.

  • ΠŸΡ€ΠΈΠ²ΠΈΡ‚ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ EnableSystemTheme классам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚. Π­Ρ‚ΠΎΡ‚
    ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ систСмной Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Windows для собствСнных Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²
    ΠΊΠ°ΠΊ wx.ListCtrl, wx.TreeCtrl ΠΈ wx.dataview.DataViewCtrl. НС ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта
    Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

  • Π€Π»Π°Π³ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ стиля wx.WS_EX_VALIDATE_RECURSIVELY устарСл, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ
    Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (ΠΈ СдинствСнноС).Π€Π»Π°Π³ стиля Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π²
    wxPython для совмСстимости, Π½ΠΎ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
    в вашСм кодС бСз измСнСния повСдСния. # 1278

  • Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½ΠΎΠ³Π΄Π° сбой ΠΏΡ€ΠΈ использовании wx.Overlay, позволяя wx.DCOverlay ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ
    ссылка Π½Π° DC, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ DCOverlay Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.
    PR β„– 1301

  • Π—Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Vagrant, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для сборки wxPython для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дистрибутивов Linux.
    с ΠΎΠ±Ρ€Π°Π·Π°ΠΌΠΈ Docker.

  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² wx.adv.BitmapComboBox # 1307

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ wx.svg, содСрТащий ΠΊΠΎΠ΄ для синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° SVG (ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€
    Graphics), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с wxPython. Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
    SVG Π² wx.Bitmap любого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ качСства, Π° Ρ‚Π°ΠΊΠΆΠ΅
    Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ SVG нСпосрСдствСнно Π² wx.GraphicsContext с использованиСм Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ° сборщика мусора
    ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹. PR β„– 1323

  • ΠŸΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» ΠΎΠ±Ρ€Π°Π·Π΅Ρ† внСдрСния ΠΈΠ· Classic, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wxPython ΠΈΠ·
    ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ C ++ wxWidgets, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ встроСн Python.PR β„– 1353

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ wx.GetApp () для использования глобального экзСмпляра wxApp ΠΎΡ‚ wxWidgets вмСсто
    поддСрТивая свой собствСнный ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли wxApp создаСтся ΠΊΠΎΠ΄ΠΎΠΌ C ++
    wxPython ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ. # 1126

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для класса wx.ActivityIndicator.

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для класса wx.CollapsibleHeaderCtrl.

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² PlotCanvas, связанныС с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ использованиСм полос ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.# 1428

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ wx.msw.CHMHelpController, Π° Ρ‚Π°ΠΊΠΆΠ΅ фабричная функция wx.HelpController.
    ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт экзСмпляр Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ Help Controller для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. # 1536

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ wx.adv.GenericAnimationCtrl, поэтому общая вСрсия классов Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
    ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ собствСнная вСрсия. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π°
    Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ измСнСния для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния API Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ
    АнимационныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ созданы.Π‘ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ AnimationCtrl.py Π² дСмонстрации
    для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… схСм использования # 1579

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для wx.grid.GridBlockCoords, wx.grid.GridBlocks ΠΈ
    wx.grid.GridBlockDiffResult, Π° Ρ‚Π°ΠΊΠΆΠ΅ связанныС Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²
    wx.grid.Grid класс. Они ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ способ взаимодСйствия с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ
    Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ячСйки, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ интСрфСйс ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² wx.grid.GridBlocks, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
    Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивным (ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ памяти) способом ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ
    Π²Ρ‹Π±ΠΎΡ€.

  • новостСй wxPython | wxPython

    Начиная с этого выпуска, wxPython ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π½Π° отслСТиваниС wxWidgets.
    главная Π²Π΅Ρ‚ΠΊΠ° (вСрсия 3.1.x) для исходного ΠΊΠΎΠ΄Π° wxWidgets, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ являСтся wxPython.
    построСнный Π½Π° основС, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² исходныС Π°Ρ€Ρ…ΠΈΠ²Ρ‹ wxPython.

    Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ послСдний выпуск, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для Python 2.7. Код Π±ΡƒΠ΄Π΅Ρ‚
    вСроятно, Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π±Ρ‹Ρ‚ΡŒ совмСстимым с Python 2.7, Π½ΠΎ Π½Π΅Ρ‚
    Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Ρ‹ усилия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊ ΠΈ Π±Ρ‹Π»ΠΎ.

  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† для wx.Font.AddPrivateFont ΠΊ дСмонстрации.

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для OSXEnableAutomaticQuoteSubstitution,
    OSXEnableAutomaticDashSubstitution ΠΈ OSXDisableAllSmartSubstitutions
    ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² wx.TextCtrl. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ OSXEnableAutomaticTabbing Π² wx.App.

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ wx.ColourDialogEvent, wx.DCTextBgColourChanger, wx.DCTextBgModeChanger,
    wx.grid.GridCellDateRenderer, wx.grid.GridCellDateEditor, wx.SystemAppearance,
    ΠΏΡ€.

  • МногиС ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ элСмСнты Π² wxWidgets ΠΈ wxPython ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚
    Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½.ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ протСстируйтС свой ΠΊΠΎΠ΄ Π² послСднСй вСрсии 4.0.x с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
    прСдупрСТдСния Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ класса, ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹
    ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ошибки Π² wx.lib.calendar: Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ навигация ΠΏΠΎ клавишам Ρ‡Π΅Ρ€Π΅Π· Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ мСсяцСв.
    Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ; клавиша Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ устанавливаСт Π΄Π°Ρ‚Ρƒ ΠΈ запускаСт событиС EVT_CALENDAR;
    API-интСрфСйсы setter Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π΄Π°Ρ‚Ρƒ # 1230.

  • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° использованиС wx.Overlay Π² инструмСнтС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ
    Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚ GTK3.

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ​​проблСма Π² wx.lib.agw.customtreectrl, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΌΠΎΠ³ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ
    застрял навсСгда # 1235.

  • ΠŸΡ€ΠΈΠ²ΠΈΡ‚ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ EnableSystemTheme классам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚. Π­Ρ‚ΠΎΡ‚
    ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ систСмной Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Windows для собствСнных Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²
    ΠΊΠ°ΠΊ wx.ListCtrl, wx.TreeCtrl ΠΈ wx.dataview.DataViewCtrl. НС ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта
    Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

  • Π€Π»Π°Π³ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ стиля wx.WS_EX_VALIDATE_RECURSIVELY устарСл, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ
    Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (ΠΈ СдинствСнноС).Π€Π»Π°Π³ стиля Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π²
    wxPython для совмСстимости, Π½ΠΎ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
    в вашСм кодС бСз измСнСния повСдСния. # 1278

  • Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½ΠΎΠ³Π΄Π° сбой ΠΏΡ€ΠΈ использовании wx.Overlay, позволяя wx.DCOverlay ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ
    ссылка Π½Π° DC, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ DCOverlay Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.
    PR β„– 1301

  • Π—Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Vagrant, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для сборки wxPython для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дистрибутивов Linux.
    с ΠΎΠ±Ρ€Π°Π·Π°ΠΌΠΈ Docker.

  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² wx.adv.BitmapComboBox # 1307

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ wx.svg, содСрТащий ΠΊΠΎΠ΄ для синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° SVG (ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€
    Graphics), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с wxPython. Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
    SVG Π² wx.Bitmap любого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ качСства, Π° Ρ‚Π°ΠΊΠΆΠ΅
    Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ SVG нСпосрСдствСнно Π² wx.GraphicsContext с использованиСм Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ° сборщика мусора
    ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹. PR β„– 1323

  • ΠŸΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» ΠΎΠ±Ρ€Π°Π·Π΅Ρ† внСдрСния ΠΈΠ· Classic, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wxPython ΠΈΠ·
    ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ C ++ wxWidgets, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ встроСн Python.PR β„– 1353

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ wx.GetApp () для использования глобального экзСмпляра wxApp ΠΎΡ‚ wxWidgets вмСсто
    поддСрТивая свой собствСнный ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли wxApp создаСтся ΠΊΠΎΠ΄ΠΎΠΌ C ++
    wxPython ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ. # 1126

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для класса wx.ActivityIndicator.

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для класса wx.CollapsibleHeaderCtrl.

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² PlotCanvas, связанныС с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ использованиСм полос ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.# 1428

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ wx.msw.CHMHelpController, Π° Ρ‚Π°ΠΊΠΆΠ΅ фабричная функция wx.HelpController.
    ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт экзСмпляр Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ Help Controller для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. # 1536

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ wx.adv.GenericAnimationCtrl, поэтому общая вСрсия классов Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
    ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ собствСнная вСрсия. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π°
    Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ измСнСния для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния API Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ
    АнимационныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ созданы.Π‘ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ AnimationCtrl.py Π² дСмонстрации
    для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… схСм использования # 1579

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для wx.grid.GridBlockCoords, wx.grid.GridBlocks ΠΈ
    wx.grid.GridBlockDiffResult, Π° Ρ‚Π°ΠΊΠΆΠ΅ связанныС Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²
    wx.grid.Grid класс. Они ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ способ взаимодСйствия с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ
    Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ячСйки, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ интСрфСйс ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² wx.grid.GridBlocks, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
    Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивным (ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ памяти) способом ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ
    Π²Ρ‹Π±ΠΎΡ€.

  • ДокумСнтация API wxPython — докумСнтация wxPython Phoenix 4.1.1

    wx
    ΠšΠ»Π°ΡΡΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² основном пространствС ΠΈΠΌΠ΅Π½ wx

    wx.adv
    МСнСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ классы

    wx.grid
    Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ классы для отобраТСния ΠΈ рСдактирования Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

    wx.dataview
    ΠšΠ»Π°ΡΡΡ‹ для просмотра Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ иСрархичСских Π΄Π°Π½Π½Ρ‹Ρ…

    wx.richtext
    Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ рСализация тСкстового элСмСнта управлСния с нуля, способная ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ нСсколько тСкстовых стилСй ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

    wx.ribbon
    Набор классов для написания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Π½Π° основС Π»Π΅Π½Ρ‚Ρ‹, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставляСт собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ интСрфСйсу Π² MS Office ΠΈ Windows 10.

    wx.html
    Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ классы для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ модуля Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° HTML

    wx.html2
    Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ классы для встроСнного срСдства Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ html с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ CSS ΠΈ javascript

    wx.aui
    ЗакрСпляСмыС / ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ, пСрСтаскиваСмыС Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π° ΠΈ Ρ‚. Π΄.

    wx.svg
    ΠšΠ»Π°ΡΡΡ‹ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

    wx.lib
    Наша Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° чистом Python

    wx.glcanvas
    ΠšΠ»Π°ΡΡΡ‹ для встраивания прСдставлСний OpenGL Π² ΠΎΠΊΠ½ΠΎ

    wx.stc
    ΠšΠ»Π°ΡΡΡ‹ для управлСния стилизованным тСкстом, Ρ‚Π°ΠΊΠΆΠ΅ извСстныС ΠΊΠ°ΠΊ Scintilla

    wx.msw
    НСсколько классов доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Windows

    wx.media
    MediaCtrl ΠΈ связанныС классы

    wx.propgrid
    PropertyGrid ΠΈ связанныС классы для рСдактирования сСтки ΠΏΠ°Ρ€ имя / Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

    wx.xrc
    ΠšΠ»Π°ΡΡΡ‹ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ· XML

    wx.xml
    НСкоторыС простыС классы XML для использования с XRC

    wx.py
    ΠŸΠ°ΠΊΠ΅Ρ‚ py, содСрТащий PyCrust ΠΈ связанныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

    wx.tools
    НСкоторыС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для wxPython.

    Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
    Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ wx.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ wxPython | wxPython

    ВСкущая вСрсия

    Начиная с wxPython 4.0 (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ выпуск Phoenix) исходный ΠΊΠΎΠ΄ wxPython
    Π°Ρ€Ρ…ΠΈΠ², Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ доступны Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ колСса wxPython
    ΠΈΠ· индСкса ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python (PyPI). Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° wxPython Π² PyPI:
    https://pypi.org/project/wxPython.

    Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ колСса ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ прямо ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
    страницу, ΠΈΠ»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΈΠΏ
    инструмСнт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π·Π° вас.

    Windows ΠΈ macOS
     pip install -U wxPython
     

    Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Windows ΠΈΠ»ΠΈ macOS с совмСстимой сборкой Python, Ρ‚ΠΎ
    показанная Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» колСса ΠΈΠ·
    послСдний выпуск ΠΈ установитС Π΅Π³ΠΎ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ срСду Python ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ
    срСда.

    Если для вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ для вашСй
    вСрсии Python, Ρ‚ΠΎΠ³Π΄Π° pip Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ исходный Π°Ρ€Ρ…ΠΈΠ² ΠΈ Π±ΡƒΠ΄Π΅Ρ‚
    ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ это для вас.НиТС приводится нСкоторая информация ΠΎΠ± этом.

    Π”Π°, Ρƒ нас Π΅ΡΡ‚ΡŒ Linux Wheels. Π’Ρ€ΠΎΠ΄Π΅.

    Из-Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ дистрибутивами Linux (Π² основном Ρ€Π°Π·Π½Ρ‹Π΅
    вСрсии основных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, установлСнных ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°
    Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ Ρ‚. Π΄.) Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ колСс для
    Linux Π½Π° PyPI, Ссли ΠΈΡ… нСльзя Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ
    PEP 513 К соТалСнию,
    ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π²Ρ‚ΠΈΡΠ½ΡƒΡ‚ΡŒ привязку wxPython Π² отвСрстиС manylinux1 Π½Π΅ Π±Ρ‹Π»ΠΈ
    ΠΎΡ‡Π΅Π½ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ.ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, manylinux2 ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅. Π’ это врСмя,
    Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ Linux, достаточно ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались для сборки колСс
    располоТСн ΠΏΠΎΠ΄
    ΠΏΠ°ΠΏΠΊΠ° linux wxPython Extras,
    Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ колСса ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ дистрибутива ΠΈ ΠΏΠΎΡ€Ρ‚Π° wx (GTK2 ΠΈΠ»ΠΈ GTK3), Ρ‚ΠΎ
    Π½Π΅ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ располоТСны Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ для Π»Π΅Π³ΠΊΠΎΠ³ΠΎ доступа Ρ‡Π΅Ρ€Π΅Π· pip.
    Π­Ρ‚ΠΎ просто ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹
    Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ URL-адрСс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠΈΠΏΡƒ.НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сборки GTK3 wxPython
    для Ubuntu 16.04 (ΠΈ 16.10, LinuxMint 18 ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Ρ€ΡƒΠ³ΠΈΡ…) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
    ΠΊΠΎΠΌΠ°Π½Π΄Π° pip Π²Ρ€ΠΎΠ΄Π΅ этого:

     pip install -U \
        -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \
        wxPython
     

    ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» wheel ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pip
    для установки вашСй локальной ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»Π°.

    Π—Π΄Π°Π½ΠΈΠ΅ с ΠΊΠ°Π½Π°Π»ΠΎΠΌ

    Если pip Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» колСса, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅
    ΠΈ Π²Π°ΡˆΡƒ Π²Π΅Ρ€ΡΠΈΡŽ Python, Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ исходный Π°Ρ€Ρ…ΠΈΠ² ΠΈ
    попытаСтся ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ для вас.Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ компилятор ΠΈ
    зависимыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для
    Π²Ρ‹, хотя сборка ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя. ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚
    Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π²Π°ΠΌ Π±Ρ‹Π»ΠΎ доступно Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ колСсо. На самом Π΄Π΅Π»Π΅ ΠΏΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚
    Ρ‚Π°ΠΊΠΆΠ΅ скаТитС просто ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ колСсо, Π° Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ установку. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹
    ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» колСса для Ρ€Π°Π·Π½Ρ‹Ρ… срСд Python ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…
    ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅, Π±Π΅Π· нСобходимости ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· Π½ΠΈΡ….

    Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΏΠΎ созданию Ρ„Π°ΠΉΠ»Π° колСса wxPython для вашСго Linux.
    машина ΠΈ установка Python, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ этому
    Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π±Π»ΠΎΠ³Π΅.

    Conda ΠΈΠ»ΠΈ Anaconda

    Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ срСду Python ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Conda ΠΈΠ»ΠΈ
    Anaconda, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wxPython с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
    conda , ΠΊΠ°ΠΊ ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ
    здСсь для подробностСй ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сборки
    доступный. ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹Π΅ люди ΠΈΠ· Conda-forge сдСлали
    Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ Π΅Π³ΠΎ Π² курсС Π½ΠΎΠ²Ρ‹Ρ… выпусков.

    Одна малСнькая gotcha , ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ сборкС wxPython conda, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°
    OSX / macOS Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pythonw для выполнСния Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ wxPython,
    Π½Π΅ типичная ΠΊΠΎΠΌΠ°Π½Π΄Π° python .Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pythonw , Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ
    python.app ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚ conda.

    Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

    Помимо исходного ΠΊΠΎΠ΄Π° ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², доступных Π½Π° PyPI, Π΅ΡΡ‚ΡŒ нСсколько
    Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ выпуска, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π½Π°
    https://extras.wxPython.org/wxPython4/extras/.
    Π’Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ‚Π°ΠΌ:

    • Архив, содСрТащий Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ wxPython API , которая являСтся
      Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ доступСн ΠΏΠΎ адрСсу https: // docs.wxpython.org. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это
      копия справочной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для локального Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ чтСния справочника API
      ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π». НайдитС Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ wxPython-docs-VERSION.tar.gz .

    • Архив, содСрТащий Π΄Π΅ΠΌΠΎ-Π²Π΅Ρ€ΡΠΈΡŽ wxPython ΠΈ ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹ . Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ
      рСкомСндуСтся для Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ wxPython, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ
      этот Ρ„Π°ΠΉΠ». Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ рСсурс с мноТСством ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…
      ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ wxPython.Π˜ΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»
      с имСнСм wxPython-demo-VERSION.tar.gz .

    • Zip-Ρ„Π°ΠΉΠ»ΠΎΠ² с * .pdb Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Visual Studio.

    • Π€Π°ΠΉΠ»Ρ‹ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ колСса для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… разновидностСй Linux .

    ΠšΡ€ΠΎΠ²Π°Π²Π°Ρ ΠΊΡ€ΠΎΠΌΠΊΠ°

    Если Π²Ρ‹ ΡΠΌΠ΅Π»ΡŒΡ‡Π°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с новСйшими
    вСрсия wxPython, Ρƒ нас Π΅ΡΡ‚ΡŒ для вас нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

    Π‘Π½ΠΈΠΌΠΎΠΊ сборки

    ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь, ΠΊΠΎΠ³Π΄Π° происходят ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ основной Π²Π΅Ρ‚ΠΊΠΈ wxPython Phoenix,
    buildbot Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π΄Π΅Π»Π°Ρ‚ΡŒ «Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹ΠΉ
    ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ».Π’ случаС успСха ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ колСса, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ исходныС Π°Ρ€Ρ…ΠΈΠ²Ρ‹
    Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π²
    папка со снимками.
    Π₯отя это тСхничСски Π½Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅
    Π½Π΅ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΈ Π½Π΅Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ ошибки, ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ
    ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π² собствСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

    GitHub

    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ GitHub

    wxPython находится ΠΏΠΎ адрСсу https://github.com/wxWidgets/Phoenix. Если
    Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ²ΠΎΠ·ΠΈΡ‚ΡŒΡΡ с ΠΊΠΎΠ΄ΠΎΠΌ (ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ
    PR) Ρ‚ΠΎ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ
    Ρ‚Ρ‹ ΠΈΡ‰Π΅ΡˆΡŒ.Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²ΠΈΠ»ΠΊΡƒ ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ копию рСпозитория git для
    сСбя ΠΈ Π½Π°Ρ‡Π½ΠΈ Ρ‰ΠΈΠΏΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ.

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сгСнСрированныС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² git, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ
    Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ нСсколько шагов для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ построСния ΠΊΠΎΠ΄Π°, Π½ΠΎ всС ΠΎΠ½ΠΈ
    обрабатываСтся
    build.py
    скрипт ΠΈ ΠΎΠ±Π·ΠΎΡ€ процСсса ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… шагов Π²
    ПРОЧВИ ΠœΠ•ΠΠ―. Если
    Π²Ρ‹ застряли, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΠ± этом Π½Π°
    wxPython-dev.

    Π‘Ρ‚Π°Ρ€Ρ‹Π΅ вСрсии

    wxPython выпускаСт Π΄ΠΎ 4.0 (ΠΎΠ½ ΠΆΠ΅ «ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ» wxPython) останСтся
    доступны Π½Π°
    SourceForge.
    Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ исходный ΠΊΠΎΠ΄, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.
    установщики для систСм Windows ΠΈ Mac.

    Python 3 GUI: wxPython 4 Tutorial — Urllib & JSON Example

    Π’ этом руководствС ΠΏΠΎ wxPython 4 ΠΌΡ‹ научимся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с графичСским интСрфСйсом Python 3 с нуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ wxPython ΠΈ Urllib. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сторонний REST API новостСй, доступный Π½Π° newsapi.org, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ послСдних новостСй ΠΈ позволяСт ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 30 000 источников новостСй ΠΈ Π±Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ.ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Urllib для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ HTTP-запросов Π² REST API ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ json для Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΡ‚Π²Π΅Ρ‚Π°.

    Из этого руководства Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола Π² Python 3, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅:

    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Urllib для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ HTTP-запросов для получСния Π΄Π°Π½Π½Ρ‹Ρ… JSON ΠΈΠ· стороннСго REST API.
    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ json для синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… JSON Π² словарях Python 3.
    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ webbrowser для открытия URL-адрСсов Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

    ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу рСгистрации ΠΈ создайтС Π½ΠΎΠ²ΡƒΡŽ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° прСдоставлСнный ΠΊΠ»ΡŽΡ‡ API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅ для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ новостСй.

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ wxPython

    wxPython — это ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Python для wxWidgets — кроссплатформСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C ++ для создания Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для macOS, Linux ΠΈ Windows. wxPython Π±Ρ‹Π» создан Π ΠΎΠ±ΠΈΠ½ΠΎΠΌ Π”Π°Π½Π½ΠΎΠΌ .

    ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования

    Π’Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования:

    • Python 3 ΠΈ pip, установлСнныС Π² вашСй систСмС,
    • Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ знания Python.

    Установка wxPython 4

    НачнСм с установки wxPython 4 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip . ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ просто Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

    Если установка Π½Π΅ ΡƒΠ΄Π°Π»Π°ΡΡŒ, Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависимости Π² зависимости ΠΎΡ‚ вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GitHub для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ вашСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ wxPython 4

    ПослС установки wxPython Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ своС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, создав ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Python ΠΈ Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ wx.App () ΠΈ wx.Frame () .

    Π’Π½ΡƒΡ‚Ρ€ΠΈ вашСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ создайтС Ρ„Π°ΠΉΠ» newsy.py ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

      import wx
    
    app = wx.App ()
    frame = wx.Frame (parent = None, title = 'Newsy: Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΌΠΈΡ€ΠΎΠ²Ρ‹Π΅ новости!')
    frame.Show ()
    app.MainLoop ()
      

    Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π° основных класса — wx.ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ wx.Frame .

    Класс wx.App ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° прилоТСния wxPython.

    Из ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° wx.App Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ MainLoop () , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт Ρ†ΠΈΠΊΠ» событий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ событий Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

    wx.Frame ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΎΠΊΠ½Π°. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали ΠΎΠΊΠ½ΠΎ Π±Π΅Π· родитСля с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Newsy: Read the World News! Ρ‚ΠΈΡ‚ΡƒΠ».

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с графичСским интСрфСйсом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° своСм Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

    Π­Ρ‚ΠΎ снимок экрана нашСго ΠΎΠΊΠ½Π° графичСского интСрфСйса:

    Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ нашСго ΠΊΠΎΠ΄Π° ΠΈ создадим мСню ΠΈ строки состояния.Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создаСм класс MainWindow , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ класс wx.Frame :

      класс MainWindow (wx.Frame):
        def __init __ (я, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ):
    
            super (MainWindow, self) .__ init __ (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ = Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Ρ€Π°Π·ΠΌΠ΅Ρ€ = (600,500))
            self.Centre ()
            self.CreateStatusBar ()
            self.createMenu ()
    
        def createMenu (сам):
    
            мСню = wx.Menu ()
            menuExit = menu.Append (wx.ID_EXIT, Β«E & xitΒ», Β«Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· прилоТСния»)
    
            menuBar = wx.MenuBar ()
            строка мСню.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (мСню, Β«& Π€Π°ΠΉΠ»Β»)
            self.SetMenuBar (панСль мСню)
    
            self.Bind (wx.EVT_MENU, self.OnExit, menuExit)
    
        def OnExit (сСбя, событиС):
            self.Close (True) # Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Ρ€Π΅ΠΉΠΌ
      

    Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ __init __ () ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ Center () для wx.Frame , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π½Π° экранС. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ CreateStatusBar () для создания строки состояния. НаконСц, ΠΌΡ‹ опрСдСляСм ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ createMenu () , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ:

    • Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wx.Menu () ΠΌΠ΅Ρ‚ΠΎΠ΄,
    • ДобавляСт элСмСнт мСню для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· прилоТСния,
    • Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ строку мСню ΠΈ добавляСт ΠΊ Π½Π΅ΠΉ мСню File, ,
    • БвязываСт EVT_MENU с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ OnExit () , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Close () , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ.

    Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ для создания прилоТСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

      if __name__ == '__main__':
        app = wx.App ()
        window = MainWindow (НСт, Β«Newsy - Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΌΠΈΡ€ΠΎΠ²Ρ‹Π΅ новости!Β»)
        ΠΎΠΊΠ½ΠΎ.Π¨ΠΎΡƒ()
        app.MainLoop ()
      

    ПослС запуска прилоТСния это ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ нашСго ΠΎΠΊΠ½Π° Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚:

    Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ wxPython

    Богласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ:

    ПанСль — это ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ элСмСнты управлСния. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Π² Ρ€Π°ΠΌΠΊΡƒ. Π•Π³ΠΎ основная функция ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ классом wx.Window — это ΠΊΠΎΠ΄ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½ ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° TAB , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² wxGTK), ΠΈΠ»ΠΈ самим wxWidgets Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим панСль ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ NewsPanel , которая Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ wxPanel :

      class NewsPanel (wx.Panel):
    
        def __init __ (я, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ):
            wx.Panel .__ init __ (сам, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ)
            self.SetBackgroundColour ("сСрый")
      

    Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим экзСмпляр класса Π² конструкторС MainWindow для фактичСского добавлСния ΠΏΠ°Π½Π΅Π»ΠΈ Π² нашС ΠΎΠΊΠ½ΠΎ:

      class MainWindow (wx.Frame):
        def __init __ (я, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ):
    
            super (MainWindow, сам).__init __ (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ = Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Ρ€Π°Π·ΠΌΠ΅Ρ€ = (600,500))
            self.Centre ()
            NewsPanel (ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ)
            self.createStatusBar ()
            self.createMenu ()
      

    Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ списков wxPython для новостСй ΠΈ источников

    Богласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ:

    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния списком прСдставляСт списки Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…: прСдставлСниС списка, прСдставлСниС ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, прСдставлСниС Π·Π½Π°Ρ‡ΠΊΠΎΠ² ΠΈ прСдставлСниС Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π½Π°Ρ‡ΠΊΠΎΠ².
    Π’ любом случаС элСмСнты Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ с нуля. Для всСх этих Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² элСмСнты хранятся Π² элСмСнтС управлСния ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊ Π½Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wx.ListCtrl.InsertItem ΠΌΠ΅Ρ‚ΠΎΠ΄.

    ПослС создания нашСй ΠΏΠ°Π½Π΅Π»ΠΈ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²Π° списка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ источники ΠΈ новости:

      class NewsPanel (wx.Panel):
    
        def __init __ (я, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ):
            wx.Panel .__ init __ (сам, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ)
            self.SetBackgroundColour ("сСрый")
    
            self.sources_list = wx.ListCtrl (
                сСбя,
                style = wx.LC_REPORT | wx.BORDER_SUNKEN
            )
            self.sources_list.InsertColumn (0, Β«Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΒ», ΡˆΠΈΡ€ΠΈΠ½Π° = 200)
    
            сСбя.news_list = wx.ListCtrl (
                сСбя,
                Ρ€Π°Π·ΠΌΠ΅Ρ€ = (-1, - 1),
                style = wx.LC_REPORT | wx.BORDER_SUNKEN
            )
            self.news_list.InsertColumn (0, 'Бсылка')
            self.news_list.InsertColumn (1, 'Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ')
      

    ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ wx.ListCtrl для создания списка Π² wxPython, Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ InsertColumn () для добавлСния столбцов Π² наши списки. Π’ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ список ΠΌΡ‹ добавляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ столбСц Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ . Для Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… списков ΠΌΡ‹ добавляСм Π΄Π²Π° столбца Link ΠΈ Title .

    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Box Sizer

    Богласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ:

    Sizers … стали ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° для опрСдСлСния ΠΌΠ°ΠΊΠ΅Ρ‚Π° элСмСнтов управлСния Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ… Π² wxPython ΠΈΠ·-Π·Π° ΠΈΡ… способности ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ нСзависимо ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΈ стилС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов управлСния.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ размСстим Π΄Π²Π° списка рядом, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ°ΠΊΠ΅Ρ‚ BoxSizer . wxPython обСспСчиваСт Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

    • wx.BoxSizer
    • wx.StaticBoxSizer
    • wx.GridSizer
    • wx.FlexGridSizer
    • wx.GridBagSizer

    wx.BoxSizer позволяСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ нСсколько Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π² столбцС строки ΠΈΠ»ΠΈ столбца.

      ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ° = wx.BoxSizer (wx.VERTICAL | wx.HORIZONTAL)
      

    ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π¨ x Π’Π•Π Π’Π˜ΠšΠΠ›Π¬ΠΠΠ― ΠΈΠ»ΠΈ Π¨ x Π“ΠžΠ Π˜Π—ΠžΠΠ’ΠΠ›Π¬ΠΠΠ― .

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π² wx.BoxSizer с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Add () :

     .Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (wx.Window ΠΎΠΊΠ½ΠΎ, цСлочислСнная пропорция = 0, цСлочислСнный Ρ„Π»Π°Π³ = 0, цСлочислСнная Π³Ρ€Π°Π½ΠΈΡ†Π° = 0)
      

    Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ __init __ () нашСй ΠΏΠ°Π½Π΅Π»ΠΈ новостСй Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

      sizer = wx.BoxSizer (wx.HORIZONTAL)
            sizer.Add (self.sources_list, 0, wx.ALL | wx.EXPAND)
            sizer.Add (self.news_list, 1, wx.ALL | wx.EXPAND)
            self.SetSizer (классификатор)
      

    Π­Ρ‚ΠΎ снимок экрана нашСго ΠΎΠΊΠ½Π° с двумя списками:

    Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Ρ‡Π½Π΅ΠΌ с заполнСния исходного списка.Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ:

      import urllib.request
    ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ json
      

    Π—Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ API_KEY , которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ваш ΠΊΠ»ΡŽΡ‡ API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ послС создания ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи с NewsAPI.org :

    ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… JSON с использованиСм Urllib.request

    Π—Π°Ρ‚Π΅ΠΌ Π² NewsPanel Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ получСния источников новостСй:

      def getNewsSources (self):
            с urllib.request.urlopen ("https: // newsapi.org / v2 / sources? language = en & apiKey = "+ API_KEY) Π² качСствС ΠΎΡ‚Π²Π΅Ρ‚Π°:
                response_text = response.read ()
                ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° = response.info (). get_content_charset ('utf-8')
                JSON_object = json.loads (response_text.decode (ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°))
    
                для el в JSON_object ["sources"]:
                     print (el ["описаниС"] + ":")
                     print (el ["id"] + ":")
    
                     print (el ["url"] + "\ n")
                     self.sources_list.InsertItem (0, el ["имя"])
    
      

    Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² конструкторС:

      class NewsPanel (wx.ПанСль):
    
        def __init __ (я, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ):
            wx.Panel .__ init __ (сам, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ)
            # [...]
            self.getNewsSources ()
      

    Π’ΠΎΡ‚ ΠΈ всС! Если Π²Ρ‹ снова запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ список источников новостСй:

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ источник новостСй ΠΈΠ· списка слСва, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ новости ΠΈΠ· этого источника ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΈΡΡŒ Π² спискС Π² ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для получСния Π΄Π°Π½Π½Ρ‹Ρ… новостСй. Π’ NewsPanel Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:

      def getNews (self, source):
             с urllib.request.urlopen ("https://newsapi.org/v2/top-headlines?sources=" + source + "& apiKey =" + API_KEY) Π² качСствС ΠΎΡ‚Π²Π΅Ρ‚Π°:
                 response_text = response.read ()
                 ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° = response.info (). get_content_charset ('utf-8')
                 JSON_object = json.loads (response_text.decode (ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°))
                 для el Π² JSON_object ["ΡΡ‚Π°Ρ‚ΡŒΠΈ"]:
                     индСкс = 0
                     self.news_list.InsertItem (index, el ["url"])
                     self.news_list.SetItem (индСкс, 1, el ["названиС"])
                     индСкс + = 1
    
      

    Π”Π°Π»Π΅Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ источника.А Π²ΠΎΡ‚ Ρ€ΠΎΠ»ΡŒ событий wxPython.

    ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° событий wxPython

    Π’ конструкторС __init __ () ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° NewsPanel Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Bind () Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ sources_list , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ wx.EVT_LIST_ED70SELECT ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ wx.EVT_LIST_ITEM_Slected () ΠΌΠ΅Ρ‚ΠΎΠ΄:
    « Ρ€Ρƒ
    class NewsPanel (wx.Panel):

      def __init __ (self, parent):
        wx.Panel .__ init __ (сам, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ)
        # [...]
        self.sources_list.ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ (wx.EVT_LIST_ITEM_SELECTED, self.OnSourceSelected)
      
     
    Π—Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ OnSourceSelected () ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
    
    `` Ρ€Ρƒ
        def OnSourceSelected (я, событиС):
             source = event.GetText (). replace ("", "-")
             self.getNews (источник)
      

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ источник новостСй, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список новостСй ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ источника Π² ΠΏΡ€Π°Π²ΠΎΠΌ спискС:

    ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ внСшниС URL-адрСса Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΡΡ‚Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Ссли ΠΎΠ½Π° Π²Ρ‹Π±Ρ€Π°Π½Π°, Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ webbrowser :

    Π—Π°Ρ‚Π΅ΠΌ Π² NewsPanel ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ OnLinkSelected () ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

      def OnLinkSelected (self, event):
              webbrowser.open (event.GetText ())
      

    НаконСц, привяТитС ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΊ wx.EVT_LIST_ITEM_SELECTED Π² news_list ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

      class NewsPanel (wx.Panel):
    
        def __init __ (я, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ):
            wx.Panel .__ init __ (сам, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ)
            # [...]
            self.news_list.Bind (wx.EVT_LIST_ITEM_SELECTED, self.OnLinkSelected)
      

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ URL-адрСс открываСтся Π² вашСм Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

    ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списков ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π°

    Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π°, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ списков Π½Π΅ измСнились ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² NewsPanel ΠΈ привязав Π΅Π³ΠΎ ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ wx.EVT_PAINT :

      def OnPaint (self, evt):
            ΡˆΠΈΡ€ΠΈΠ½Π°, высота = self.news_list.GetSize ()
            для i в диапазонС (2):
                self.news_list.SetColumnWidth (я, ΡˆΠΈΡ€ΠΈΠ½Π° / 2)
            evt.Skip ()
      

    Π—Π°Ρ‚Π΅ΠΌ привяТитС ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

      class NewsPanel (wx.Panel):
    
        def __init __ (я, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ):
            wx.Panel .__ init __ (сам, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ)
            # [...]
            self.Bind (wx.EVT_PAINT, self.OnPaint)
      

    Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄:

    Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    Π’ этом руководствС ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ графичСский интСрфСйс для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ПК с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python 3 ΠΈ wxPython.ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ:

    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Urllib для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ HTTP-запросов для получСния Π΄Π°Π½Π½Ρ‹Ρ… JSON ΠΈΠ· стороннСго REST API.
    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ json для синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… JSON Π² словарях Python 3.
    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ webbrowser для открытия URL-адрСсов Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

    ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wxPython для создания ΠΎΠΊΠΎΠ½, ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈ списков ΠΈ ΠΊΠ°ΠΊ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ события.

    wxPython Β· PyPI

    ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

    Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Phoenix wxPython! Phoenix — это ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅
    wxPython, Β«Π»ΡƒΡ‡ΡˆΠ΅, сильнСС, быстрСС, Ρ‡Π΅ΠΌ Π±Ρ‹Π» Ρ€Π°Π½ΡŒΡˆΠ΅.”Этот Π½ΠΎΠ²Ρ‹ΠΉ
    рСализация ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ скорости, рСмонтопригодности ΠΈ
    Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ. Как ΠΈ «классичСский» wxPython, Phoenix ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ wxWidgets Π½Π° C ++.
    инструмСнтарий ΠΈ обСспСчиваСт доступ ΠΊ частям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса wxWidgets
    API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ прилоТСниям Python ΠΈΠΌΠ΅Ρ‚ΡŒ собствСнный графичСский интСрфСйс Π½Π° Windows, Mac ΠΈΠ»ΠΈ
    БистСмы Unix, с СстСствСнным внСшним Π²ΠΈΠ΄ΠΎΠΌ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΡ‡Π΅Π½ΡŒ нСбольшого количСства (Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ)
    ΠΊΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

    Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см.
    README Ρ„Π°ΠΉΠ»,
    Руководство ΠΏΠΎ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ,
    ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ API wxPython.

    АрхивныС Ρ„Π°ΠΉΠ»Ρ‹, содСрТащиС копию Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ wxPython, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ
    доступны ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² MSVC .pdb для Windows.
    здСсь.

    Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wxdocs ΠΈ wxdemo загрузят ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wxget,
    (ΠΏΡ€ΠΈ нСобходимости), Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, (ΠΏΡ€ΠΈ нСобходимости) ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ
    ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты. (Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈ запускаСтся дСмонстрация.
    с ΠΏΠΈΡ‚ΠΎΠ½ΠΎΠΌ).

    Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» для своСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ большС ΠΎΠ± установкС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

    Π€Π°ΠΉΠ»Ρ‹ для wxPython, вСрсия 4.1.1
    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π° ВСрсия Python Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π₯эшСй
    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp36-cp36m-macosx_10_9_x86_64.whl

    (18,2 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp36

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp36-cp36m-win32.whl

    (15,1 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp36

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp36-cp36m-win_amd64.whl

    (18,2 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp36

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp37-cp37m-macosx_10_9_x86_64.whl

    (18,2 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp37

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp37-cp37m-win32.whl

    (15,1 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp37

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp37-cp37m-win_amd64.whl

    (18,2 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp37

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp38-cp38-macosx_10_9_x86_64.whl

    (18,1 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp38

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp38-cp38-win32.whl

    (15,1 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp38

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp38-cp38-win_amd64.whl

    (18,1 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp38

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp39-cp39-macosx_10_10_x86_64.whl

    (18,1 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp39

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp39-cp39-win32.whl

    (15,1 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp39

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1-cp39-cp39-win_amd64.whl

    (18,1 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    КолСсо
    ВСрсия Python

    cp39

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    Имя Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€

    wxPython-4.1.1.tar.gz

    (66,0 ΠœΠ‘)

    Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ
    ВСрсия Python

    Никто

    Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
    Π₯Сши

    Π’ΠΈΠ΄

    wxpython — Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с wxpython

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ wxPython

    ΠŸΡ€ΠΎΡ‰Π΅ говоря, wxPython — это Π½Π°Π±ΠΎΡ€ привязок ΠΊ кроссплатформСнной GUI-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ wxWidgets C ++.

    Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ wxWidgets

    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° wxWidgets прСдоставляСт бСсплатный, бСсплатный Π½Π°Π±ΠΎΡ€ абстракций с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… элСмСнтов графичСского интСрфСйса, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ элСмСнты управлСния ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ΠΈ доступны, с сохранСниСм Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ внСшнСго Π²ΠΈΠ΄Π°, ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠΉ ΠΈ скорости. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ прСдоставляСт Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ для создания графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ряда Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, которая позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для Windows, Mac OS X, Linux ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ с использованиСм Π΅Π΄ΠΈΠ½ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π°. wxWidgets Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π² 1992 Π³ΠΎΠ΄Ρƒ, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ здСсь.Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° wxWidgets распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ wxWindows, которая основана Π½Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ L-GPL , Π½ΠΎ с ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π° . ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ позволяСт Π²Π°ΠΌ динамичСски ΠΈΠ»ΠΈ статичСски ΡΠ²ΡΠ·Π°Ρ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с wxWidgets Π±Π΅Π· трСбования Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ исходный ΠΊΠΎΠ΄ для вашСго собствСнного прилоТСния. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wxWidgets Π»ΠΈΠ±ΠΎ для бСсплатных, Π»ΠΈΠ±ΠΎ для коммСрчСских ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ Ρ†Π΅Π½Π΅ бСсплатно . ЛицСнзия поощряСт вас Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ вноситС Π² саму Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ wxWidgets.

    ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ wxWidgets состоит ΠΈΠ· сотСн классов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ кроссплатформСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. :

    • ΠœΠ°ΠΊΠ΅Ρ‚ ΠΎΠΊΠ½Π° с использованиСм ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²
    • ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Ρ‹ устройств (вмСстС с ΠΏΠ΅Ρ€ΡŒΡΠΌΠΈ, кистями ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΌΠΈ)
    • КомплСксная систСма ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий
    • БрСдство просмотра HTML-справки
    • ВоспроизвСдСниС Π·Π²ΡƒΠΊΠ° ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
    • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Unicode ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
    • АрхитСктура Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° / прСдставлСния
    • Випография Archiecture
    • Π ΠΎΠ·Π΅Ρ‚ΠΊΠΈ
    • ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ
    • ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ
    • Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ ΠΈ контСкстно-зависимая справка
    • Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ HTML
    • Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹
    • Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, сохранСниС, рисованиС ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
    • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹
    • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок
    • Π‘ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈ пСрСтаскиваниС

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², e.Π³Ρ€Π°ΠΌΠΌ. threading, Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ связаны с графичСским интСрфСйсом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄Π° прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любой ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅.

    Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° wxWidgets ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π° 4 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сборки, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΌ сборкам ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° исходного ΠΊΠΎΠ΄Π°, статичСскиС ΠΈ динамичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, созданныС ΠΊΠ°ΠΊ для ASCII, Ρ‚Π°ΠΊ ΠΈ для Unicode. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ доступСн ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ собранным Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΈ ​​в Π²ΠΈΠ΄Π΅ исходного ΠΊΠΎΠ΄Π° для сборки с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для Ρ†Π΅Π»Π΅Π²ΠΎΠΉ срСды ΠΈ с Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΎΠΉ инструмСнтов C ++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° с многочислСнными ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ инструмСнтов.

    ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠΈ python для этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дополнСния ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ wxPython.

    Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ wxPython, (Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠ½Π΅ Π΄Π°Π΅Ρ‚)?

    wxPython Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ кроссплатформСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ графичСского интСрфСйса с Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π΅Ρ‚ прСимущСства Python. Подобно wxWidgets ΠΈ Python, wxPython являСтся бСсплатным, бСсплатным ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ доступСн для использования ΠΈ распространСния ΠΊΠ°ΠΊ Π² бСсплатных, Ρ‚Π°ΠΊ ΠΈ Π² коммСрчСских ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π±Π΅Π· нСобходимости распространСния исходного ΠΊΠΎΠ΄Π° .

    • Full GUI Suite, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ (Π½ΠΎ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡΡΡŒ):
      • Windows (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ MDI Windows)
      • ΠœΠ°ΡΡ‚Π΅Ρ€Π°
      • Π Π°ΠΌΡ‹ ΠΈ ΠΌΠΈΠ½ΠΈ-Ρ€Π°ΠΌΡ‹
      • Π”ΠΈΠ°Π»ΠΎΠ³ΠΈ, стандартныС, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅
      • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния просмотром ΠΊΠ½ΠΈΠ³, Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², сСток ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
      • Π”Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, слайдСры, счСтчики, анимация, Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°, пСрСтаскиваниС
      • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HTML, PDF ΠΈ просмотра ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
      • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

      • GUI ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ, Π½ΠΎ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚ Π½Π° основС сайзСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ автоматичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Ρ‚. Π”.
    • Cross Platform — ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° графичСских интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для Windows, OS-X ΠΈ Linux с Π΅Π΄ΠΈΠ½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ ΠΊΠΎΠ΄Π° Π±Π΅Π· условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² вашСм ΠΊΠΎΠ΄Π΅
    • Родная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, внСшний Π²ΠΈΠ΄ ΠΈ ощущСния.
    • Rapid prototype, test & debug — ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это python
    • Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹ практичСски всСго Π² дСмонстрационном ΠΏΠ°ΠΊΠ΅Ρ‚Π΅.
    • ЧСткая лицСнзия для бСсплатного использования Π΄Π°ΠΆΠ΅ Π² коммСрчСских ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ….
    • ΠŸΡ€ΠΈ нСобходимости ваш графичСский интСрфСйс python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² графичСский интСрфСйс C ++ wxWidgets ΠΏΠΎΠ·ΠΆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ.
    • Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ сообщСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠ°ΠΊ Π² StackOverflow, Ρ‚Π°ΠΊ ΠΈ Π² списках рассылки.

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ сам python прСдоставляСт кроссплатформСнный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ слуТСбных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ wxWidgets, threading снова являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ , Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΎΠΏΡƒΡ‰Π΅Π½ ΠΈΠ· wxPython.

    wxPython Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ большой Π½Π°Π±ΠΎΡ€ дСмонстраций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° Documents and Demo.

    Вкусы wxPython

    ASCII ΠΏΡ€ΠΎΡ‚ΠΈΠ² Unicode :

    Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ , ΠΊΠ°ΠΊ ΠΈ wxWidgets , Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ сборками ASCII ΠΈ Unicode, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°ΡΡŒ сборка для своСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии python, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ 32/64 Π±ΠΈΡ‚. Начиная ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ с wxPython 2.8.9 сборка wxPython Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ASCII Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Π΅Π½Π°, поэтому ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Unicode всСгда доступна.

    Классик ΠΏΡ€ΠΎΡ‚ΠΈΠ² ЀСникса :

    Начиная с wxPython 3.0.0 сущСствовала выпущСнная «ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ» сборка wxPython ΠΈ Phoenix , Π² настоящСС врСмя нСвыпущСнная сборка . ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ сборка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΎΡ‚ΡΡ‚Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚ сборок wxWidgets с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ, Π° ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ — это C ++ — ΠΎΠ½ доступСн для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ (см. Установка классичСской вСрсии), Π² случаС Windows Π² качСствС исполняСмого установщика. ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠΈ Phoenix, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² основном ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ автоматичСски, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сборкам wxWidgets, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΡƒΡŽ для wxPython — ΠΎΠ½Π° ​​моТСт Π±Ρ‹Ρ‚ΡŒ создана ΠΈΠ· исходных ΠΊΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Π½ΠΎΡ‡Π½Ρ‹Ρ… сборок , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ колСса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip (см. Установка ЀСникс).

    Π’ wxPython, Π½ΠΎ Π½Π΅ Π² wxWidgets

    wxPython Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ wxWidgets рядом Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, это лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…, нСдоступны Π² wxWidgets:

    Π”Π΅ΠΌΠΎ Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹

    Π½Π° Win10

    Π”Π΅ΠΌΠΎ wxPython со всСми Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ:

    Одно ΠΈΠ· Π½Π΅Π΄Π°Π²Π½ΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ:

    Один ΠΈΠ· AGW (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹):

    ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€

    ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Hello World :

      ΠΈΠΌΠΏΠΎΡ€Ρ‚ wx
    ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ = wx.ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ = False)
    frame = wx.Frame (parent = None, id = wx.ID_ANY, title = 'Hello World')
    frame.Show ()
    app.MainLoop ()
      

    Π’Ρ‹Ρ…ΠΎΠ΄:

    Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ подкласс wx.Frame :

      ΠΈΠΌΠΏΠΎΡ€Ρ‚ wx
    
    класс MyFrame (wx.Frame):
    
        def __init __ (сам):
            wx.Frame .__ init __ (self, None, title = 'Hello World')
            self.Show ()
    
    Ссли __name__ == '__main__':
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ = wx.ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ = False)
        frame = MyFrame ()
        app.MainLoop ()
      

    Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ для использования Python super :

      ΠΈΠΌΠΏΠΎΡ€Ρ‚ wx
    
    класс MyFrame (wx.Frame):
            
        def __init __ (self, * args, ** kwargs):
            """ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€"""
            super (MyFrame, self) .__ init __ (* args, ** kwargs)
            self.Show ()
    
    Ссли __name__ == '__main__':
        app = wx.App (Π›ΠΎΠΆΡŒ)
        frame = MyFrame (НСт, title = 'Hello World')
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.MainLoop ()
      

    Установка wxPython Classic

    wxPython Classic — это сборка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ wxPython Python 2 . Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ привязок python Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большого количСства Ρ€ΡƒΡ‡Π½Ρ‹Ρ… Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π², Π° докумСнтация — это просто докумСнтация wxWidgets, которая содСрТит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ wxPython, поэтому ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΠ²Ρ‹ΠΌ выпуском wxWidgets ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ выпуском wxPython сущСствуСт Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… нСдСль Π΄ΠΎ мСсяцСв. .

    ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Π²Π΅Π±-сайтС wxPython, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сущСствуСт Π»ΠΈ ΡƒΠΆΠ΅ вСрсия wxPython, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ для своСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

    ПослСдняя вСрсия Classic — 3.0.2.0

    Окна

    На сайтС Π΅ΡΡ‚ΡŒ установщики Python 2.6 ΠΈ 2.7 для 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΈ 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Windows. ΠŸΡ€ΠΎΡΡ‚ΠΎ скачайтС ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… ΠΈ запуститС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ установщик wxPython для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ установлСнного Python.НапримСр, Ссли Ρƒ вас 32-разрядная вСрсия Python 2.7, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ 32-разрядный установщик wxPython

    Mac

    Если Ρƒ вас OSX 10.5 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ поздняя вСрсия , Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ wxPython Cocoa . ВСрсия Какао Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Mac.

    Если Ρƒ вас Mac с вСрсиСй OSX Π½ΠΈΠΆΠ΅ 10,5 , Ρ‚ΠΎ Π²Π°ΠΌ понадобится сборка Carbon .

    Linux

    ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ссли ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Linux (Ρ‚.Π΅.Π΅. yum, apt-get ΠΈ Ρ‚. Π΄.), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ Π½Π΅Π³ΠΎ вСрсия wxPython, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. К соТалСнию, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Linux для wxPython ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для вСрсии 2.8.12.1 вмСсто 3.0.2.0. Если Π² вашСм диспСтчСрС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π΅Ρ‚ послСднСй вСрсии, Π²Π°ΠΌ, вСроятно, придСтся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

    Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΏΠΎ сборкС 3.0.2.0-Classic здСсь

    Установка wxPython Phoenix

    wxPython Phoenix — это послСдняя вСрсия wxPython (Π² настоящСС врСмя сСнтября 2016 Π³. Π±Π΅Π· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ выпуска).Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Python 2, Ρ‚Π°ΠΊ ΠΈ Python 3. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ сборку ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ снимка (Ρ‚. Π•. КолСсо Python) для своСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ Python здСсь.

    wxPython Phoenix ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для создания ΠΊΠ°ΠΊ привязок python для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ wxWidgets, Ρ‚Π°ΠΊ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. ДокумСнтация Phoenix wxPython создаСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Π½Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sphinx. Π­Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ C ++ классичСской сборки, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ мноТСство ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΎΠΊ, нСдоступных Π² wxPython.

    Python ΠΈ pip Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны ΠΏΠ΅Ρ€Π΅Π΄ установкой wxPython Phoenix.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pip для установки вСрсии wxPython для Phoenix. Π’ΠΎΡ‚ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ Π² настоящСС врСмя ΠΌΠ΅Ρ‚ΠΎΠ΄:

      python -m pip install --no-index --find-links = http: //wxpython.org/Phoenix/snapshot-builds/ --trusted-host wxpython.org wxPython_Phoenix
      

    Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, pip Ρ‚Π°ΠΊΠΆΠ΅ установит wxWidgets . Π­Ρ‚Π° слоТная ΠΊΠΎΠΌΠ°Π½Π΄Π° pip, вСроятно, станСт pip install wxpython послС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ выпуска Phoenix.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. WxPython Phoenix Π² настоящСС врСмя находится Π½Π° стадии Π±Π΅Ρ‚Π°-тСстирования ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ всСх Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² классичСской вСрсии.

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сСрия выпусков wxPython?

    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ wxWidgets принял модСль выпуска, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ядра Linux, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π°Π±ΠΎΡ€Ρ‹ выпусков, Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ считаСтся Β«ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΒ», Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ считаСтся Β«Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΒ». Для wxWidgets Β«ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉΒ» ΠΈ Β«Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Β» относятся Π½Π΅ ΠΊ ошибкам, Π° ΠΊ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ API ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости.

    • Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ : На протяТСнии всСго Ρ†ΠΈΠΊΠ»Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ API-интСрфСйсы Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, хотя ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ класса. Двоичная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ C ++ поддСрТиваСтся Π·Π° счСт Π·Π°ΠΏΡ€Π΅Ρ‚Π° ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² памяти ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚ классов ΠΈ структур. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ часто Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ограничСния Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ исправлСний ошибок ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ сСрии выпусков, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это влияСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ C ++, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Python обратная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΈΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

    • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° : Основной Ρ†Π΅Π»ΡŒΡŽ сСрии выпусков для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ являСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ исправлСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ исправлСны Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ сСрии ΠΈΠ·-Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ совмСстимости, ΠΈ всС это Π² ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ€ΠΈΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ API-интСрфСйсы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, хотя Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ исходного ΠΊΠΎΠ΄Π° C ++ поддСрТиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ макросов ΠΈ Ρ‚. Π”.Для wxPython это часто ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ исходного ΠΊΠΎΠ΄Π° ΠΈΠ·-Π·Π° отсутствия ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ макросов, Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ вСрсии API ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ.

    Из-Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ послСдняя разрабатываСмая вСрсия wxWidgets / wxPython часто ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ мСньшС ошибок, Ρ‡Π΅ΠΌ послСдняя вСрсия послСднСй сСрии ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… выпусков. Однако сущСствуСт компромисс, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ API-интСрфСйсы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями Π² сСрии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

    Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий?

    Для выпусков wxPython ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΈΠ· 4 ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π₯отя это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π΅ΡΡ‚ΡŒ нСсколько Ρ‚ΠΎΠ½ΠΊΠΈΡ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ. Π˜Ρ‚Π°ΠΊ, для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выпуска A.B.C.D Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ вывСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

    1. БСрия выпуска : ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии ( AB ) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡΠ΅Ρ€ΠΈΡŽ выпуска, ΠΈ Ссли ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ B являСтся Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ числом, это ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ сСрия, Ссли это Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число, Ρ‚ΠΎ это сСрия выпусков для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.НапримСр, вСрсии 2.4, 2.6 ΠΈ 2.8 ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ, Π° API Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΌΠΎΡ€ΠΎΠΆΠ΅Π½ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сСрии, Π° вСрсии 2.3, 2.5 ΠΈ 2.7 находятся Π² стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° API ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости.

    Из-Π·Π° этого ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄Π½ΠΎΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ сСриСй ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ довольно большиС измСнСния (скаТСм, ΠΎΡ‚ 2,4 Π΄ΠΎ 2,6), ΠΈ это часто сбиваСт людСй с Ρ‚ΠΎΠ»ΠΊΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… измСнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ Π±Ρ‹ ΠΊ измСнСнию ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии. . ВмСсто этого Π²Π°ΠΌ слСдуСт ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ A.

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *