Pull to refresh

Comments 59

Обязательно стоит сказать про GUI-редакторы, позволяющие очень сильно упростить проектирование всех элементов пользовательского интерфейса и сгенерировать python код. Например, wxGlade, VisualWx. Хотя скажу по опыту, эти редакторы в удобстве конечно уступают, например, тому же QtCreator.
Стоит. Это будет сделано немного позже.
Qt они уступают, что неудивительно. Сравни размеры сообществ и активность выхода новых версий Qt и wxWidgets.
Извините за мой вопрос, ибо пока нуб. А разве есть QtCreator для pyside? Я его запускаю, он мне предлагает сделать проект на C++.
Не скажу вам точно, ибо такими вещами не пользуюсь, но думаю, что нет и он заточен только под приложения, написанные на C++.
для wxPython есть гуи для автоматизации разработки, я использую wxFormBuilder, не идеал, но мне очень нравится и бесплатно, правда пишу на С++, но там можно генерить код и для питона
Не идеал, но лично я пользуюсь именно им. Больше всего по нраву пришёлся.
UFO just landed and posted this here
В с++ных виджетах точно можно, правда с шаманством.
Если использовать wxWidgets, то всё будет нормально. Как было отмечено, после небольшого танца с бубном.
UFO just landed and posted this here
Так и есть. Именно под Standalone.
И че меня дернуло 3.2 поставить и начать учиться на нем?
угу
Столько раз уже споткнулся. Хорошо хоть 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-ом? :)
Судя по всему)
Sign up to leave a comment.

Articles

Change theme settings