Как стать автором
Обновить

Комментарии 59

Обязательно стоит сказать про GUI-редакторы, позволяющие очень сильно упростить проектирование всех элементов пользовательского интерфейса и сгенерировать python код. Например, wxGlade, VisualWx. Хотя скажу по опыту, эти редакторы в удобстве конечно уступают, например, тому же QtCreator.
Стоит. Это будет сделано немного позже.
Qt они уступают, что неудивительно. Сравни размеры сообществ и активность выхода новых версий Qt и wxWidgets.
Извините за мой вопрос, ибо пока нуб. А разве есть QtCreator для pyside? Я его запускаю, он мне предлагает сделать проект на C++.
Не скажу вам точно, ибо такими вещами не пользуюсь, но думаю, что нет и он заточен только под приложения, написанные на C++.
для wxPython есть гуи для автоматизации разработки, я использую wxFormBuilder, не идеал, но мне очень нравится и бесплатно, правда пишу на С++, но там можно генерить код и для питона
Не идеал, но лично я пользуюсь именно им. Больше всего по нраву пришёлся.
НЛО прилетело и опубликовало эту надпись здесь
В с++ных виджетах точно можно, правда с шаманством.
Если использовать wxWidgets, то всё будет нормально. Как было отмечено, после небольшого танца с бубном.
НЛО прилетело и опубликовало эту надпись здесь
Так и есть. Именно под Standalone.
И че меня дернуло 3.2 поставить и начать учиться на нем?
Вы про Python?
угу
Столько раз уже споткнулся. Хорошо хоть pySerial заработал
Тоже стоял перед выбором несколько дней назад. Думал, или 2.7 или 3.1. Решил довериться 2.7. И вы знаете, не прогадал ведь.
эт точно
все скрипты под 2.7. Чаще всего работает скрипт 2to3, но не всегда, и с модулями, естественно сдохнешь его причесывать. Особенно если третий день только с языком знаком.
Всё-таки немного прогадал. Сегодня скачал Google App Engine и обнаружил, что он работает только с Python 2.5 :(
Расскажите, пожалуйста, как правильно написать прогресс-бар и не натолкнуться на GIL.
Через Thread и wx'овый Publisher?:)
Почитайте статью про потоки в wxPython, все достаточно просто. Пример прогресс бара показан здесь, только без потоков.
Я уже читал эту статью, но проблему она так и не помогла решить. Допустим, мне надо вызвать серию каких-то долгих действий, а на это время мне надо показать прогрессбар. Так вот, действия в треде вызываются нормально, но обновлять прогрессбар из треда нехорошо, так как действия могут быть разными по продолжительности и прогрессбар будет прыгать. Все события вида wx.PyTimer умирают, пока активны треды, так что обновлять прогресс по таймеру тоже не получается. Сейчас у меня работает небольшой велосипед, которые мне не нравится: используется multiprocessing, к которому в Process() ставится функция, вызывающая треды, процесс стартуется, а затем вызывается цикл по условию multiprocessing.Manager.Event.is_set() со sleep'ом внутри и обновлением прогресса.
Спасибо, все собираюсь начать изучать Wx. Меня интересует такие моменты: можно ли поставить фоновую картинку, убрать края у фрейма, если я в фотошопе нарисую красивую кнопку, я могу ее использовать?
Можно, фон — через wx.ClientDC()
dc = wx.ClientDC(self)
rect = self.GetUpdateRegion().GetBox()
dc.SetClippingRect(rect)
img = wx.Bitmap("image.jpg")
dc.DrawBitmap(img, 0, 0)


Края: style = wx.BORDER_NONE при создании фрейма

Кнопку c рисунком через wx.BitmapButton или wx.lib.platebtn.PlateButton

Прошу прощения, <code></code> не работают
Правильно ли я понимаю, что в tkinter такого сделать нельзя?
Не знаю, так как сам с Tkinter (в 2.6 она с большой буквы, в 3.0 с маленькой) не работал, wxPython к ней тоже не обращается. Полагаю, что фон всего фрейма можно будет сделать, подсунув Canvas, а вот остальное — вряд ли так просто, судя по краткому описанию.
эх, кажется отсутствует сборка под 64 битный макось. Придется pyside изучать.
Я ошибся, есть оказывается версия под 64 битную макось, надо просто ставить девелоперскую версию cocoa
Совершенно верно.
Достаточно использовать тег source с атрибутом lang = «python».
Он в предпросмотре не показывался, я и подумал, что не работает.
import xz;

class NoName:

     def __init__(self):
          print "Всё Python!";

Всё Python. Всё работает, чего вы?
В предпросмотре не работает. Когда запостите — уже видно.
import xz
class aa:
def __init__(self):
print 'bb'

А нет, простите, я не прав. <source> а не <code>
Ну, а я про что вам и говорю. :)
Как актуально, сегодня как раз начал учить wxPython!
Буду рад, если эта серия статей вам поможет.
Спасибо, я вот тоже на днях GUI на нем делать начну.

А там в последнем листинге не должно быть еще строки «self.Bind(wx.EVT_MENU, self.OnOpen, openItem)» или чего-то подобного? я код не запускал, просто в глаза бросилось, что обработчик не ассоциирован с элементом меню.
Да, вы правы. Хабрапарсер съел код и не подавился. Приду на работу — внесу правку.
Исправил. Ещё раз спасибо.
Насколько кроссплатформенно это получается?
Можно ли создать папку со всем необходимым для запуска на win и linux?
Программы на wxWidgets спокойно запускаются на Windows, Linux, и MacOS X.
Простите за занудство, но действительно ли можно скинуть «папочку на флешке» — чтоб она запустилась на компьютере пользователя (будь там Xp,7 или Убунта)?
Подразумевается наличие exe (cmd) и *.sh — файла.
Можете выложить например Helloworld (или чуть сложнее) — я б проверил?
Конечно можно. Тем более, что речь не об инсталяции, а о запуске. Т.е. мы в любом случае имеем портативное приложение.
Извините, промахнулся. ответил ниже.
Поделюсь ссылкой на самый лучший туториал, на мой взгляд, по которому сам изучал wxPython.
Да, про Zetcode забыл. Спасибо.
Приду на рабочее место — добавлю.
Добавил в статью. Справедливости ради заметить, что туториал этот всё же «novice» уровня.
Также, по собственному опыту советую, вот эту книгу: wxPython in action

Также, после изучения wxpython in action, можно почитать вот это: Cody Precord — wxPython 2.8 Application Development Cookbook — 2010

wxPython in action на русском (не знаю что это, случайно линк нашел, даже не читал, советую читать на английском)
Вот за это спасибо. Действительно дельная книга. :)
Одновременно с этим вы должны помнить, что exe вы сможете запустить на Linux и Mac OS X только лишь с помощью средств виртуализации. Если же хотите не танцевать с бубном лишний раз, нужно код скомпилировать в исполняемый файл на каждой платформе. Как-то так.
Пишу проект используя wxPython уже 4 месяца. Либа великолепная! Куча возможностей. Документация, правда, хромает на обе ноги (английская естественная, русской документации вообще вроде как нет, да и не надо :) ).
Проект опенсорсный или коммерческий?
Насчёт библиотеки — поддерживаю. Прекрасная вещь.
Опенсорсный (по крайнем мере пока что я не планирую его продавать), моя дипломная тема — «Разработка приложения для оценки качества данных»
Довольно интересно. Можно ссылочку на ваше творение?
Пока что там только интерфейс и базовая оценка по нескольким параметрам. Если все равно интересно, подскажите ресурс куда выложить чтобы Вы смогли посмотреть.
На любой файлообменник. На ifolder, например. Или же на мыло — krovatti@gmail.com.
Вторую часть ждать в 2013-ом? :)
Судя по всему)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории