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
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ python 3xxx Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ (Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ 3xxx ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΡΠΈ).
- ΠΎΡΠΊΡΠΎΠΉΡΠ΅ python CLI, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ python ΠΈΠ»ΠΈ Π½Π΅Ρ.
- Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ (CMD).
- Π²Π²Π΅Π΄ΠΈΡΠ΅ PIP, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π»ΠΈ pip ΠΈΠ»ΠΈ Π½Π΅Ρ.
- Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: pip ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ»Π΅ΡΠΎ
- Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: pip install pygame
- ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ 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 ΡΡΠΎ ΠΎΠΊΠ½ΠΎ).
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
- Parent β Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. Π Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΎΠ½ΠΎ Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎ ΠΎΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
- Id β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½ΠΈΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΎΠΊΠ½Π°. ΠΠ΄Π΅ΡΡ Π½Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π½ΠΎΠΌΠ΅ΡΠ° Π²ΡΡΡΠ½ΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΡ wx.ID_ANY, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΌ ΠΎΠ±ΠΎ Π²ΡΡΠΌ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ.
- 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"
- ΠΠ»Ρ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ. ΠΡ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΄Π° Π΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- Π€ΡΠ½ΠΊΡΠΈΡ wx.wizard.WizardPageSimple_Chain() ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² SetNext() ΠΈ SetPrev() ΡΡΡΠ°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π΅ΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
- ΠΡΠ·ΠΎΠ² FitToSize() ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠ΅ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ Π΅ΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΈ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΡ Π½Π΅Ρ ΠΏΠΎ ΡΠ΅ΠΏΠΎΡΠΊΠ΅. ΠΠΎΡΡΠΎΠΌΡ, Π²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΈΡ.
- ΠΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° 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, ΠΊΠΎΡΠΎΡΡΠΉ
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ (ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ) ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ
Π³ΡΡΠΏΠΏ
Π²ΡΠ±ΠΎΡ.
wx wx.adv wx.grid wx.dataview wx.richtext wx.ribbon wx.html wx.html2 wx.aui wx.svg | wx.lib wx.glcanvas wx.stc wx.msw wx.media wx.propgrid wx.xrc wx.xml wx.py wx.tools ΡΡΠ½ΠΊΡΠΈΠΉ |
ΠΠ°Π³ΡΡΠ·ΠΊΠΈ 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,
(ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ), ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΈΡ
, (ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ) ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π²Π΅ΡΡΠΈΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. (ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ.
Ρ ΠΏΠΈΡΠΎΠ½ΠΎΠΌ).
Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ
ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π²ΡΠ±ΡΠ°ΡΡ, ΡΠ·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠΌΡ ΡΠ°ΠΉΠ»Π°, ΡΠ°Π·ΠΌΠ΅Ρ | Π’ΠΈΠΏ ΡΠ°ΠΉΠ»Π° | ΠΠ΅ΡΡΠΈΡ 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 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- Π‘Π΅ΡΠΈΡ Π²ΡΠΏΡΡΠΊΠ° : ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ ( AB ) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠΈΡ Π²ΡΠΏΡΡΠΊΠ°, ΠΈ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ B ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΡΡΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ ΡΠ΅ΡΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΎ ΡΡΠΎ ΡΠ΅ΡΠΈΡ Π²ΡΠΏΡΡΠΊΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅ΡΡΠΈΠΈ 2.4, 2.6 ΠΈ 2.8 ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌΠΈ, Π° API Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΌΠΎΡΠΎΠΆΠ΅Π½ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅ΡΠΈΠΈ, Π° Π²Π΅ΡΡΠΈΠΈ 2.3, 2.5 ΠΈ 2.7 Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° API ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΈΠ»ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈΠ΅ΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΎΡ 2,4 Π΄ΠΎ 2,6), ΠΈ ΡΡΠΎ ΡΠ°ΡΡΠΎ ΡΠ±ΠΈΠ²Π°Π΅Ρ Π»ΡΠ΄Π΅ΠΉ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΏΡΠΈΠ²Π΅Π»ΠΈ Π±Ρ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ. . ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ A.