- создании списков в различных стилях
- работа с элементами в списке
- реакции на выбор пользователем элемента из списка
- редактирование меток и сортировка списка
- создание большого списка (large list)
Показаны сообщения с ярлыком wxPython. Показать все сообщения
Показаны сообщения с ярлыком wxPython. Показать все сообщения
четверг, 24 января 2013 г.
wxPython in Action. Глава 13. Создание списков (list control) и управление им (Перевод)
В этой главе мы поговорим о:
среда, 21 ноября 2012 г.
wxPython in Action. Часть 3. Продвинутое использование wxPython (Перевод)
Эту часть мы начнём с рассмотрения трёх более сложных виджетов и перейдём к возможностям, которые не будут использованы в каждой программе на wxPython, но тем не менее лучше быть с ними знакомым, чтобы использовать их когда это вдруг понадобится.
В главе 13, "Создание списков (list control) и управление им" мы рассмотрим списки, более продвинутую версию list box, который позволяет отображать элементы в стиле проводника windows с различными режимами. Вы узнаете как переключаться между этими режимами, добавлять в список текст и изображения, и реагировать на действия пользователей. Глава 14, "Работа с сеткой (grid control)", добавляет ещё одно измерение к списку. Сетки очень гибкие и мы покажем Вам способы работы с данными в сетке, так же как и механизмы настройки отображения сетки и её редактирования. Глава 15, "Взбираясь на дерево (tree control)", мы поговорим об элементе "дерево", который позволяет компактно отображать иерархию объектов. Мы узнаем как работать с данными в этом элементе, перемещаться по дереву и настраивать его отображение.
В главе 16, "Включение HTML в ваше приложение", мы увидим, что HTML - удобный способ настройки стилей отображения текстовых меток и вывода чего-либо на печать. Мы покажем как работает виджет HTML и какие ограничения он содержит относительно стандарта HTML. Глава 17, "Фреймворк для печати в wxPython", разбирается с проблемами вывода на печать, как рисовать в принтер и как работать со стандартным диалогом печати, чтобы обеспечить взаимодействие между wxPython и системой печати ОС. Кроме того, мы увидим как сделать предпросмотр перед печатью. Глава 18, "Использование оставшихся возможностей wxPython", расскажет обо всём остальном. Там мы поговорим о передаче данных через буфер обмена, работе в drag and drop, использовании таймеров и сделаем несколько замечаний об использовании потоков в приложениях wxPython.
понедельник, 29 октября 2012 г.
Создаём QR коды на Python (Перевод)
Как-то раз я задумался: было бы забавно создать программу при помощи wxPython, которая генерирует QR коды и затем отображает их на экране. Поскольку, как понятно, я хотел написать её на Python, то после недолгих поисков я обнаружил трёх кандидатов на это дело:
- python-qrcode на github
- pyqrcode ��а sourceforge и
- pyqrnative на Google code
Я воспользовался python-qrcode и pyqrnative, так как они прекрасно работают как на Windows, так и на Mac и Linux. Кроме того, они не требуют ничего больше, только Python Imaging Library. Проект pyqrcode требует дополнительных модулей и не работает на Windows, так что я даже не стал с ним заморачиваться. В итоге я взял старый код моего Photo Viewer и немного его переиначил, чтобы получить генератор QR кодов. Если интересно - давайте поподробнее!
среда, 17 октября 2012 г.
wxPython in Action. Глава 12. Манипуляции с изображениями.
В этой главе Вы узнаете как:
- Загружать изображения и создавать их
- Создавать устройства контекста (device context)
- Рисовать в устройствах контекста
- Писать текст в устройствах контекста
- Работать с карандашом, кистью и координатами устройств контекста
четверг, 26 июля 2012 г.
wxPython: Использование wx.Timer (Перевод)
Последние несколько недель я видел большое количество вопросов по поводу таймеров в wxPython. Так что я решил, что пришло время написать пару скриптов чтобы показать, как они работают. Я разберу два примера: в первом у меня будет один таймер, во втором - два. Robin Dunn связался со мной и несколько улучшил мои примеры, так что к этой статье приложены и переработанные варианты моих скриптов.
воскресенье, 22 июля 2012 г.
wxPython: Как программно открыть другую вкладку wx.Notebook (Перевод)
Я тут встретил в wxPython users group вопрос о том, как можно программно изменить открытую вкладку в wx.Notebook. Вот код, который у меня работает:
среда, 18 июля 2012 г.
wxPython и нити (Threads) (Перевод)
Если Вы часто используете GUI в Python, тогда Вы знаете, что иногда требуется запускать процессы, выполняющиеся значительное время. И, если Вы реализуете это так же, как делаете в программах для командной строки, Вы будете очень удивлены. В большинстве случаев, Вы увидите просто "зависшую" программу, так как цикл обработки событий будет ждать завершения вашей длительной процедуры. Что в таком случае можно сделать? Запустить эту задачу в отдельной нити или в отдельном процессе! Этим мы с Вами сейчас и займёмся!
вторник, 17 июля 2012 г.
wxPython and PubSub: A Simple Tutorial (Перевод)
Я видел некоторое количество вопросов в списке рассылки wxPython и на IRC каналах про коммуникацию между фреймами. И практически всегда разработчикам требовался PubSub модуль. Модель Publisher / Subscriber - это способ послать сообщения одному или более получателю. Об этом Вы можете почитать здесь. Шаблон Observer (Наблюдатель) как раз и основывается на этой модели. В мире wxPython у нас есть модуль pubsub, который доступен посредством wx.lib.pubsub. Он включён в wxPython, но его можно загрузить и как отдельный модуль с Forge. В качестве альтернативы можно использовать и модуль PyDispatcher.
В любом случае, в этой статье мы не будем заниматься теорией. Вместо этого мы рассмотрим полу-практический пример в wxPython для того, чтобы показать, как можно использовать pubsub для обмена информацией между двумя фреймами. Если Вы всё ещё со мной - то давайте начнём!
понедельник, 16 июля 2012 г.
wxPython: Создаём ваш собственный кросс-платформенный монитор процессов при помощи psutil (Перевод)
На этой неделе я столкнулся с интересным проектом на Python под названием psutil на Google Code. Он работает на Linux, Windows, OSX и FreeBSD. Что он делает? Он собирает все работающие процессы и выдаёт Вам информацию о них, предоставляя так же возможность их завершения. Неплохо, подумал я, сделать для него GUI и получить собственный диспетчер задач / монитор приложений на wxPython. Если у Вас есть время - я приглашаю Вас в путешествие по 4 итерациям моего кода.
воскресенье, 15 июля 2012 г.
wxPython: Как создать мастер (Wizard) (Перевод)
Как-то раз на StackOverflow я увидел, что кто-то с переменным успехом борется с виджетом Wizard из wxPython. Мастер (wizard) не даёт больших возможностей по настройке, если взять его самого по себе, так что я решил посмотреть, насколько сложно будет написать мастера самому. Код достаточно краток, но это моя первая бета-версия:
воскресенье, 3 июня 2012 г.
wxPython in Action. Глава 10. Создаём и используем меню в wxPython.
В этой главе Вы узнаете:
- Как создавать меню
- Как работать с элементами меню
- Как добавлять подменю, всплывающие меню и собственные виды меню
- Как создавать удобные меню
пятница, 25 мая 2012 г.
wxPython для Python 3 почти прибыл!!! (Перевод)
Robin Dunn, создатель и вдохновитель wxPython, объявил сегодня в своём блоге и в рассылке wxPython-dev что он успешно собрал wxPython 2.9 (Phoenix) для Python 3.2 на Mac. То есть, он поместил там короткое видео, которое показывает процесс сборки и прохождения тестов в Python 3. Согласно wxPython-dev, как только они настроят бота для сборок под Python 3, снапшоты будут автоматически собираться и выкладываться тут.
У меня просто нет слов! Теперь бы ещё Python Imaging Library перевести под Python 3...
четверг, 12 апреля 2012 г.
wxPython in Action. Глава 9. Возможность выбора. Диалоги. (часть 4)
9.5 Использование валидаторов
Валидатор - это такой специальный объект wxPython, который облегчает работу с данными в диалогах. Мы уже говорили о них в третьей главе, когда упомянули, что валидатор может быть автоматически вызван системным событием. Более того, мы уже видели, что они передаются в качестве параметров некоторым классам, но так до сих пор и не обсудили что же это такое.
Валидатор выполняет три различные функции:
Валидатор выполняет три различные функции:
- Проверяет данные в элементах перед закрытием диалогов
- Автоматически передаёт данные из / в диалог
- Проверяет данные по мере их ввода пользователем
вторник, 10 апреля 2012 г.
wxPython in Action. Глава 9. Возможность выбора. Диалоги. (часть 3)
9.3 Создание мастеров
Мастер - это набор простых диалогов, соединённых последовательно друг с другом. Их цель - провести пользователя через какую-либо процедуру путём подачи и получения информации небольшими частями. На рисунке 9.11 изображён пример такого простого мастера, содержащего кнопки "вперед" и "назад".
wxPython in Action. Глава 9. Возможность выбора. Диалоги. (часть 2)
9.2 Использование стандартных диалогов
Практически все операционные системы содержат свои стандартные диалоги для таких повседневных задач, как выбор файла, шрифта или цвета. Это позволяет придерживаться во всех приложениях некоего стандартного внешнего вида и облегчает пользователю работу с вашей программой. Благодаря wxPython Вы тоже можете воспользоваться этим преимуществом; более того, Вы сможете использовать эти диалоги даже на тех платформах, где они не предоставляются операционной системой.
wxPython in Action. Глава 9. Возможность выбора. Диалоги. (часть 1)
В этой главе рассказывается о том, как:
- создавать модальные диалоговые окна и окна с сообщениями
- использовать стандартные диалоги
- создавать помощников
- показывать советы при запуске
- создавать и использовать валидаторы
Подписаться на:
Сообщения (Atom)