Re: wxPython 4.2.0
Godson Gera <[email protected]> Fri, 23 Sep 2022 18:25:41 +0530
| Newsgroups | gmane.comp.python.wxpython,gmane.comp.lib.wxwindows.general |
|---|---|
| Message-ID | <CAPTXd0r3y7YwPR=++nwMQUw5dq-9raiVGHH0yONVVNrprvZXqQ@mail.gmail.com> |
--000000000000adab1105e957b262 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thank you for the new release. =F0=9F=99=8F On Tue, Aug 9, 2022 at 3:44 AM Robin Dunn <[email protected]> wrote: > > Announcing wxPython 4.2.0 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > > PyPI: https://pypi.python.org/pypi/wxPython/4.2.0 > Extras: https://extras.wxPython.org/wxPython4/extras/ > Pip: ``pip install wxPython=3D=3D4.2.0`` > > * Yes, it's been a VERY long time since the last release. I'm not > dead, just on an extended break. It took me a while to get up to > speed on a new day job, and then there was a seemingly perpetual > crunch-mode to get the product through a couple release cycles. I > can't say that things are fully back to normal yet, but at least I > now know what I'm doing. Mostly. <wink> > > * This release is built using the wxWidgets' 3.2.0 release tag. > > * Tweaked the build scripts a bit to ensure that on non-Windows > platforms that the compiler and flags used by default match those > used by wxWidgets, (with the flags needed by Python added on.) The > compiler commands can be overridden by setting CC and CXX in the > environment if needed. (#1247) > > * On Windows the build code that locates and sets up the environment > for the MSVC compiler no longer relies on distutils code, but is now > using more modern code in setuptools instead. This enables much more > compiler flexibility and wxPython should now be buildable with > Visual Studio versions from 2015 through 2022+. > > * Switched to SIP 6 for generating the wrapper code. Rather than a > standalone executable, SIP is now a Python package that needs to be > installed in the Python environment used for the build. A dependency > has been added to requirements/devel.txt to help ensure that the > correct version is installed. The wx.siplib module code is no > longer kept in the repository, but is generated during the build. > > * Changed wx.App.InitLocale to just do > `locale.setlocale(locale.LC_ALL, "C")` to undo what Python (3.8+ on > Windows) does. This lets wxWidgets start with an uninitialized > locale as it expects. (#1637) > > * Fixed issues related to `time_t` always being treated as a 32-bit > value on Windows. (#1910) > > * Added wx.FullScreenEvent and wx.EVT_FULLSCREEN. > > * The legacy, OSX-Only wx.webkit module has been removed. > > * Fix building wxPython with Python 3.10 on Windows (#2016) > > * Fix PyProgress on Windows by avoiding invalid sizer flags (#1985) > > * Fix 'More Grid Features' in demo > > * Many of the widgets which deal with bitmaps have been changed to use > a wx.BitmapBundle object instead of wx.Bitmap. This is the mechanism > which wxWidgets has implemented for adapting to things like Hi-DPI > displays. Essentially you can load a list of bitmaps of different > sizes (but similar or scaled content) into a wx.BitmapBundle, and > the widget can choose one based on the display density. Existing > code should be able to continue to pass a wx.Bitmap to the widget > constructor or to methods like SetBitmap, as wxPython will > automatically convert from a wx.Bitmap to a wx.BitmapBundle > containing the single image provided. > > * Add support for new wx.grid event, EVT_GRID_ROW_MOVE > > * Fix path issues in wx.lib.agw.multidirdialog (#2120) > > * Fix eventwatcher checkAll(check=3DFalse) (#2139) > > * Fix exception on grid labels click in 4.1.1a (#1841) > > * Fix a large number of Python 3.10 issues. In Python 3.10, a change > was implemented where extension functions that take integer > arguments will no longer silently accept non-integer arguments > (e.g., floats) that can only be converted to integers with a loss of > precision. Fixed most of these issues in the pure-Python classes > and demos by explicitly converting the parameters to int before > passing them to wxWidgets. There is loss of precision, but this was > happening before (automatically) anyway as most wxWidgets > DeviceContext functions operate using integers. > > * Fix PlotCanvas point label drawing on Linux > > * Fix GetPopupMenu override for wx.adv.TaskbarIcon (#2067) > > * Fix invisible text in lib.plot with dark theme > > * Add new button type: ShowHideToggleButton. Like a ToggleButton, but > with an associated "menu", a Window or Sizer which is shown/hidden > when button is toggled. Includes methods for setting active and > inactive fore/background colours. > > * Fix unbinding of events in FIFO order (#2027) > > * Enable customization of layout of pdfviewer button panel > > * Support newer PyMuPDF versions (#2205) > > * IntCtrl: Change default colour to wx.NullColour so the default > color will be used. (#2215) > > * Change PopupControl to respect all the parameters passed to its > init method (#2218) > > * Fixes in flatmenu.py Remove and DestroyItem (#2219) > > * Using the MinGW toolchain to build wxPython has been simplified > a bit. (#2211) > > > > > What is wxPython? > ----------------- > > wxPython is a cross-platform GUI toolkit for the Python programming > language. It allows Python programmers to create programs with a > robust, highly functional graphical user interface, simply and > easily. It is implemented as a set of Python extension modules that > wrap the GUI components of the popular wxWidgets cross platform > library, which is written in C++. Supported platforms are Microsoft > Windows, Mac OS X and macOS, and Linux or other unix-like systems with > GTK2 or GTK3 libraries. In most cases the native widgets are used on > each platform to provide a 100% native look and feel for the > application. > > > What is wxPython Phoenix? > ------------------------- > > wxPython's Project Phoenix is a new from-the-ground-up implementation > of wxPython, created with the intent of making wxPython =E2=80=9Cbetter, > stronger, faster than he was before.=E2=80=9D In other words, this new > implementation is focused on improving speed, maintainability and > extensibility of wxPython, as well as removing most of the cruft that > had accumulated over the long life of Classic wxPython. > > The project has been in development off and on, mostly behind the > scenes, for many years. For the past few years automated snapshot > builds have been available for those adventurous enough to try it, and > many people eventually started using the snapshots in their projects, > even for production releases. While there are still some things on > the periphery that need to be completed, the core of the new wxPython > extension modules which wrap the wxWidgets code has been stable for a > long time now. > > Due to some things being cleaned up, reorganized, simplified and > dehackified wxPython Phoenix is not completely backwards compatible > with wxPython Classic. This is intended. In general, however, the API > differences tend to be minor and some applications can use Phoenix > with slight, or even with no modifications. In some other cases the > correct way to do things was also available in Classic and it's only > the wrong way that has been removed from Phoenix. For more > information there is a Migration Guide document available at: > https://docs.wxpython.org/MigrationGuide.html > > The new wxPython API reference documentation, including all > Python-specific additions and customizations, and docs for the wx.lib > package, is located at: https://docs.wxpython.org/ > > -- > You received this message because you are subscribed to the Google Groups > "wxPython-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/wxpython-users/6ef8ed34-7c8e-7d14-04c9-= b3df48c08a95%40alldunn.com > . > --=20 -- Thanks & Regards, Godson Gera --=20 You received this message because you are subscribed to the Google Groups "= wxPython-users" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/= wxpython-users/CAPTXd0r3y7YwPR%3D%2B%2BnwMQUw5dq-9raiVGHH0yONVVNrprvZXqQ%40= mail.gmail.com. --000000000000adab1105e957b262 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">Thank you for the new release. =F0=9F=99=8F</div><div><br= ><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, A= ug 9, 2022 at 3:44 AM Robin Dunn <<a href=3D"mailto:[email protected]">r= [email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_quote" = style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:s= olid;padding-left:1ex;border-left-color:rgb(204,204,204)"><br> Announcing wxPython 4.2.0<br> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= <br> <br> PyPI:=C2=A0 =C2=A0<a href=3D"https://pypi.python.org/pypi/wxPython/4.2.0" r= el=3D"noreferrer" target=3D"_blank">https://pypi.python.org/pypi/wxPython/4= .2.0</a><br> Extras: <a href=3D"https://extras.wxPython.org/wxPython4/extras/" rel=3D"no= referrer" target=3D"_blank">https://extras.wxPython.org/wxPython4/extras/</= a><br> Pip:=C2=A0 =C2=A0 ``pip install wxPython=3D=3D4.2.0``<br> <br> * Yes, it's been a VERY long time since the last release. I'm not<b= r> =C2=A0 =C2=A0dead, just on an extended break. It took me a while to get up = to<br> =C2=A0 =C2=A0speed on a new day job, and then there was a seemingly perpetu= al<br> =C2=A0 =C2=A0crunch-mode to get the product through a couple release cycles= . I<br> =C2=A0 =C2=A0can't say that things are fully back to normal yet, but at= least I<br> =C2=A0 =C2=A0now know what I'm doing. Mostly. <wink><br> <br> * This release is built using the wxWidgets' 3.2.0 release tag.<br> <br> * Tweaked the build scripts a bit to ensure that on non-Windows<br> =C2=A0 =C2=A0platforms that the compiler and flags used by default match th= ose<br> =C2=A0 =C2=A0used by wxWidgets, (with the flags needed by Python added on.)= The<br> =C2=A0 =C2=A0compiler commands can be overridden by setting CC and CXX in t= he<br> =C2=A0 =C2=A0environment if needed. (#1247)<br> <br> * On Windows the build code that locates and sets up the environment<br> =C2=A0 =C2=A0for the MSVC compiler no longer relies on distutils code, but = is now<br> =C2=A0 =C2=A0using more modern code in setuptools instead. This enables muc= h more<br> =C2=A0 =C2=A0compiler flexibility and wxPython should now be buildable with= <br> =C2=A0 =C2=A0Visual Studio versions from 2015 through 2022+.<br> <br> * Switched to SIP 6 for generating the wrapper code. Rather than a<br> =C2=A0 =C2=A0standalone executable, SIP is now a Python package that needs = to be<br> =C2=A0 =C2=A0installed in the Python environment used for the build. A depe= ndency<br> =C2=A0 =C2=A0has been added to requirements/devel.txt to help ensure that t= he<br> =C2=A0 =C2=A0correct version is installed.=C2=A0 The wx.siplib module code = is no<br> =C2=A0 =C2=A0longer kept in the repository, but is generated during the bui= ld.<br> <br> * Changed wx.App.InitLocale to just do<br> =C2=A0 =C2=A0`locale.setlocale(locale.LC_ALL, "C")` to undo what = Python (3.8+ on<br> =C2=A0 =C2=A0Windows) does. This lets wxWidgets start with an uninitialized= <br> =C2=A0 =C2=A0locale as it expects. (#1637)<br> <br> * Fixed issues related to `time_t` always being treated as a 32-bit<br> =C2=A0 =C2=A0value on Windows. (#1910)<br> <br> * Added wx.FullScreenEvent and wx.EVT_FULLSCREEN.<br> <br> * The legacy, OSX-Only wx.webkit module has been removed.<br> <br> * Fix building wxPython with Python 3.10 on Windows (#2016)<br> <br> * Fix PyProgress on Windows by avoiding invalid sizer flags (#1985)<br> <br> * Fix 'More Grid Features' in demo<br> <br> * Many of the widgets which deal with bitmaps have been changed to use<br> =C2=A0 =C2=A0a wx.BitmapBundle object instead of wx.Bitmap. This is the mec= hanism<br> =C2=A0 =C2=A0which wxWidgets has implemented for adapting to things like Hi= -DPI<br> =C2=A0 =C2=A0displays.=C2=A0 Essentially you can load a list of bitmaps of = different<br> =C2=A0 =C2=A0sizes (but similar or scaled content) into a wx.BitmapBundle, = and<br> =C2=A0 =C2=A0the widget can choose one based on the display density. Existi= ng<br> =C2=A0 =C2=A0code should be able to continue to pass a wx.Bitmap to the wid= get<br> =C2=A0 =C2=A0constructor or to methods like SetBitmap, as wxPython will<br> =C2=A0 =C2=A0automatically convert from a wx.Bitmap to a wx.BitmapBundle<br= > =C2=A0 =C2=A0containing the single image provided.<br> <br> * Add support for new wx.grid event, EVT_GRID_ROW_MOVE<br> <br> * Fix path issues in wx.lib.agw.multidirdialog (#2120)<br> <br> * Fix eventwatcher checkAll(check=3DFalse) (#2139)<br> <br> * Fix exception on grid labels click in 4.1.1a (#1841)<br> <br> * Fix a large number of Python 3.10 issues.=C2=A0 In Python 3.10, a change<= br> =C2=A0 =C2=A0was implemented where extension functions that take integer<br= > =C2=A0 =C2=A0arguments will no longer silently accept non-integer arguments= <br> =C2=A0 =C2=A0(e.g., floats) that can only be converted to integers with a l= oss of<br> =C2=A0 =C2=A0precision.=C2=A0 Fixed most of these issues in the pure-Python= classes<br> =C2=A0 =C2=A0and demos by explicitly converting the parameters to int befor= e<br> =C2=A0 =C2=A0passing them to wxWidgets.=C2=A0 There is loss of precision, b= ut this was<br> =C2=A0 =C2=A0happening before (automatically) anyway as most wxWidgets<br> =C2=A0 =C2=A0DeviceContext functions operate using integers.<br> <br> * Fix PlotCanvas point label drawing on Linux<br> <br> * Fix GetPopupMenu override for wx.adv.TaskbarIcon (#2067)<br> <br> * Fix invisible text in lib.plot with dark theme<br> <br> * Add new button type: ShowHideToggleButton.=C2=A0 Like a ToggleButton, but= <br> =C2=A0 =C2=A0with an associated "menu", a Window or Sizer which i= s shown/hidden<br> =C2=A0 =C2=A0when button is toggled. Includes methods for setting active an= d<br> =C2=A0 =C2=A0inactive fore/background colours.<br> <br> * Fix unbinding of events in FIFO order (#2027)<br> <br> * Enable customization of layout of pdfviewer button panel<br> <br> * Support newer PyMuPDF versions (#2205)<br> <br> * IntCtrl: Change default colour to wx.NullColour so the default<br> =C2=A0 =C2=A0color will be used. (#2215)<br> <br> * Change PopupControl to respect all the parameters passed to its<br> =C2=A0 =C2=A0init method (#2218)<br> <br> * Fixes in flatmenu.py Remove and DestroyItem (#2219)<br> <br> * Using the MinGW toolchain to build wxPython has been simplified<br> =C2=A0 =C2=A0a bit. (#2211)<br> <br> <br> <br> <br> What is wxPython?<br> -----------------<br> <br> wxPython is a cross-platform GUI toolkit for the Python programming<br> language.=C2=A0 It allows Python programmers to create programs with a<br> robust, highly functional graphical user interface, simply and<br> easily. It is implemented as a set of Python extension modules that<br> wrap the GUI components of the popular wxWidgets cross platform<br> library, which is written in C++. Supported platforms are Microsoft<br> Windows, Mac OS X and macOS, and Linux or other unix-like systems with<br> GTK2 or GTK3 libraries. In most cases the native widgets are used on<br> each platform to provide a 100% native look and feel for the<br> application.<br> <br> <br> What is wxPython Phoenix?<br> -------------------------<br> <br> wxPython's Project Phoenix is a new from-the-ground-up implementation<b= r> of wxPython, created with the intent of making wxPython =E2=80=9Cbetter,<br= > stronger, faster than he was before.=E2=80=9D In other words, this new<br> implementation is focused on improving speed, maintainability and<br> extensibility of wxPython, as well as removing most of the cruft that<br> had accumulated over the long life of Classic wxPython.<br> <br> The project has been in development off and on, mostly behind the<br> scenes, for many years. For the past few years automated snapshot<br> builds have been available for those adventurous enough to try it, and<br> many people eventually started using the snapshots in their projects,<br> even for production releases.=C2=A0 While there are still some things on<br= > the periphery that need to be completed, the core of the new wxPython<br> extension modules which wrap the wxWidgets code has been stable for a<br> long time now.<br> <br> Due to some things being cleaned up, reorganized, simplified and<br> dehackified wxPython Phoenix is not completely backwards compatible<br> with wxPython Classic.=C2=A0 This is intended. In general, however, the API= <br> differences tend to be minor and some applications can use Phoenix<br> with slight, or even with no modifications.=C2=A0 In some other cases the<b= r> correct way to do things was also available in Classic and it's only<br= > the wrong way that has been removed from Phoenix.=C2=A0 For more<br> information there is a Migration Guide document available at:<br> <a href=3D"https://docs.wxpython.org/MigrationGuide.html" rel=3D"noreferrer= " target=3D"_blank">https://docs.wxpython.org/MigrationGuide.html</a><br> <br> The new wxPython API reference documentation, including all<br> Python-specific additions and customizations, and docs for the wx.lib<br> package, is located at: <a href=3D"https://docs.wxpython.org/" rel=3D"noref= errer" target=3D"_blank">https://docs.wxpython.org/</a><br> <br> -- <br> You received this message because you are subscribed to the Google Groups &= quot;wxPython-users" group.<br> To unsubscribe from this group and stop receiving emails from it, send an e= mail to <a href=3D"mailto:wxpython-users%[email protected]" ta= rget=3D"_blank">[email protected]</a>.<br> To view this discussion on the web visit <a href=3D"https://groups.google.c= om/d/msgid/wxpython-users/6ef8ed34-7c8e-7d14-04c9-b3df48c08a95%40alldunn.co= m" rel=3D"noreferrer" target=3D"_blank">https://groups.google.com/d/msgid/w= xpython-users/6ef8ed34-7c8e-7d14-04c9-b3df48c08a95%40alldunn.com</a>.<br> </blockquote></div></div>-- <br><div dir=3D"ltr" class=3D"gmail_signature" = data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div><font size=3D"2">-= -</font></div><div><font size=3D"2">Thanks & Regards,<br>Godson Gera</f= ont><br></div></div></div> <p></p> -- <br /> You received this message because you are subscribed to the Google Groups &= quot;wxPython-users" group.<br /> To unsubscribe from this group and stop receiving emails from it, send an e= mail to <a href=3D"mailto:[email protected]">wxpy= [email protected]</a>.<br /> To view this discussion on the web visit <a href=3D"https://groups.google.c= om/d/msgid/wxpython-users/CAPTXd0r3y7YwPR%3D%2B%2BnwMQUw5dq-9raiVGHH0yONVVN= rprvZXqQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://g= roups.google.com/d/msgid/wxpython-users/CAPTXd0r3y7YwPR%3D%2B%2BnwMQUw5dq-9= raiVGHH0yONVVNrprvZXqQ%40mail.gmail.com</a>.<br /> --000000000000adab1105e957b262--