Вчера вечером тихо и незаметно после нескольких лет разработки вышел релиз wxPython 4.0 - библиотеки для создания графического интерфейса на языке Python. Эта библиотека является обёрткой над библиотекой wxWidgets, написанной на C++. Одно из преимуществ этой библиотеки состоит в том, что в разных операционных системах библиотека использует "родные" элементы управления, поэтому приложения, которые её используют, не будут выглядеть чужеродно по сравнению с другими приложениями.
Самое главное изменение в этой версии - поддержка Python 3.x, но Python 2.7 библиотека по-прежнему поддерживает.
Уже пару месяцев я использую wxPython 4.0 beta, и впечатления от этой версии только положительные.
Теперь wxPython присутствует в PyPi, а это значит, что ее установка сводится к команде pip install wxpython. И это же позволяет использовать wxPython внутри virtualenv / venv.
Переход с wxPython 3.0.2 на 4.0 скорее всего не обойдётся без исправления некоторых участков кода, но в основном несовместимость с прошлой версией сводится к тому, что были переименованы некоторые методы, а некоторые классы были перенесены в другие модули.
Да, чуть не забыл. wxPython под Linux теперь поддерживает GTK 3.
#программирование #python #wxpython
Самое главное изменение в этой версии - поддержка Python 3.x, но Python 2.7 библиотека по-прежнему поддерживает.
Уже пару месяцев я использую wxPython 4.0 beta, и впечатления от этой версии только положительные.
Теперь wxPython присутствует в PyPi, а это значит, что ее установка сводится к команде pip install wxpython. И это же позволяет использовать wxPython внутри virtualenv / venv.
Переход с wxPython 3.0.2 на 4.0 скорее всего не обойдётся без исправления некоторых участков кода, но в основном несовместимость с прошлой версией сводится к тому, что были переименованы некоторые методы, а некоторые классы были перенесены в другие модули.
Да, чуть не забыл. wxPython под Linux теперь поддерживает GTK 3.
#программирование #python #wxpython
Несколько дней назад вышла новая версия библиотеки для создания пользовательского интерфейса на Python - wxPython 4.2.2. Именно на основе этой библиотеки в OutWiker создается GUI. С момента предыдущей версии wxPython прошло больше года. На главной странице официального сайта почему-то еще нет новости о релизе, поэтому пока не знаю, что там поменялось, но как минимум теперь эта библиотека должна собираться для Python 3.12, а то с прошлой версией были проблемы. Еще я надеюсь, что в эту версию попало исправление, которое фиксило один неприятный баг с некоторыми юникодными символами. Из-за этого бага для сборки OutWiker под Windows я использовал пропатченную версию wxPython.
Еще новая версия wxPython символична тем, что незадолго до релиза основной разработчик Robin Dunn отошел от дел и передал права на проект другим наиболее активным разработчикам. Хочется надеяться, что релизы теперь будут выходить почаще.
#python #wxpython #программирование
Еще новая версия wxPython символична тем, что незадолго до релиза основной разработчик Robin Dunn отошел от дел и передал права на проект другим наиболее активным разработчикам. Хочется надеяться, что релизы теперь будут выходить почаще.
#python #wxpython #программирование
👍3🔥2
Понадобилось мне для OutWiker сделать новый контрол для выбора цвета. Это должен быть выпадающий список (в простонародье - ComboBox), который вместо текста отображал бы прямоугольники разных цветов. Я очень не люблю делать свои контролы, но в какую сторону копать было понятно. Решил эту задачу переложить на братьев наших меньших (а в перспективе - больших), то есть на искусственный интеллект, и попросить его сгенерировать код.
Начал с Copilot. Результат меня прям очень впечатлил. Первоначальный запрос был такой:
Код получился почти сразу рабочий, в течение нескольких запросов поправили некоторые косяки и даже улучшили внешний вид. Через полчаса в первом приближении я получил то, что хотел и потом буду исходники допиливать напильником. После этого даже не особо надеясь, что ИИ поймет, что мне надо, написал ему еще одну хотелку:
Удивительно, но он сделал именно то, что я имел в виду. В процессе общения поправили некоторые мелочи, и оно заработало.
После этого мне стало интересно сравнить результат с другими нейронками. Начал с Яндекс GPT 4. Результат получился унылый. Работающего контрола от него я так и не добился. В выпадающем списке цветные прямоугольники он не смог нарисовать (хотя честно пытался, но все время что-то было не то).
Попробовал после этого нейронку от Сбера - GigaChat. С ним пришлось помучиться подольше, чем с Copilot, - приходилось часто указывать конкретные строки, где ИИ был не прав, и что там должно быть. Но в итоге контрол начал делать то, что от него требуется, хотя некоторые оформительские моменты придется за ним все-таки править руками. А на дополнительной хотелке нейронка ушла в бесконечный цикл и начала писать без передыху по три одинаковые строчки, которые к делу вообще не относятся. В другой раз по этому же запросу у нее перепутались код и комментарии к нему. Ну ладно, с бонусом она не справилась, но в целом тоже молодец.
Еще я на днях локально себе поставил опенсорсную нейронку Llama 3 (запускал через ollama). Код, который она генерила, тоже с ходу не заработал. Но еще у меня и комп для нее слабоват. Сначала ИИ отвечал относительно шустро, но если надо было исправить ошибку, то он начинал думать минут 10, и результат совсем не впечатлял. В общем, у меня не хватило терпения заставить эту нейронку написать рабочий код.
PS. Если кому интересно, то вот код, который в итоге получился у Copilot - https://paste.ofcode.org/FeqUr5LEeFdN7ugPLZyd3u . Для получения этого кода понадобилось 7 запросов.
Код, который получился у GigaChat - https://paste.ofcode.org/34C9mNhGke5cp967q53zgXQ . Сколько понадобилось запросов для получения этого кода не знаю, потому что история не сохранилась.
Для запуска этих исходников нужна библиотека wxPython.
#python #ии #программирование #wxpython
Начал с Copilot. Результат меня прям очень впечатлил. Первоначальный запрос был такой:
"Напиши код компонента на Python с использованием библиотеки wxPython, который использует wx.adv.OwnerDrawnComboBox, чтобы выбирать цвет с помощью выпадающего списка. Каждый элемент выпадающего списка должен отображаться в виде прямоугольника своего цвета. Напиши код приложения, который этот компонент использует."
Код получился почти сразу рабочий, в течение нескольких запросов поправили некоторые косяки и даже улучшили внешний вид. Через полчаса в первом приближении я получил то, что хотел и потом буду исходники допиливать напильником. После этого даже не особо надеясь, что ИИ поймет, что мне надо, написал ему еще одну хотелку:
"Пусть теперь нулевой элемент будет обозначать "цвет по умолчанию" и выводиться текстом, а последний элемент списка - "Выбрать цвет" и тоже выводиться текстом."
Удивительно, но он сделал именно то, что я имел в виду. В процессе общения поправили некоторые мелочи, и оно заработало.
После этого мне стало интересно сравнить результат с другими нейронками. Начал с Яндекс GPT 4. Результат получился унылый. Работающего контрола от него я так и не добился. В выпадающем списке цветные прямоугольники он не смог нарисовать (хотя честно пытался, но все время что-то было не то).
Попробовал после этого нейронку от Сбера - GigaChat. С ним пришлось помучиться подольше, чем с Copilot, - приходилось часто указывать конкретные строки, где ИИ был не прав, и что там должно быть. Но в итоге контрол начал делать то, что от него требуется, хотя некоторые оформительские моменты придется за ним все-таки править руками. А на дополнительной хотелке нейронка ушла в бесконечный цикл и начала писать без передыху по три одинаковые строчки, которые к делу вообще не относятся. В другой раз по этому же запросу у нее перепутались код и комментарии к нему. Ну ладно, с бонусом она не справилась, но в целом тоже молодец.
Еще я на днях локально себе поставил опенсорсную нейронку Llama 3 (запускал через ollama). Код, который она генерила, тоже с ходу не заработал. Но еще у меня и комп для нее слабоват. Сначала ИИ отвечал относительно шустро, но если надо было исправить ошибку, то он начинал думать минут 10, и результат совсем не впечатлял. В общем, у меня не хватило терпения заставить эту нейронку написать рабочий код.
PS. Если кому интересно, то вот код, который в итоге получился у Copilot - https://paste.ofcode.org/FeqUr5LEeFdN7ugPLZyd3u . Для получения этого кода понадобилось 7 запросов.
Код, который получился у GigaChat - https://paste.ofcode.org/34C9mNhGke5cp967q53zgXQ . Сколько понадобилось запросов для получения этого кода не знаю, потому что история не сохранилась.
Для запуска этих исходников нужна библиотека wxPython.
#python #ии #программирование #wxpython
🔥5👍3