World-Python.org

сайт посвященный языку программирования Python

  • Главная
  • Карта сайта
  • Связь с нами
RSS
Category Archives: Мультимедиа

Этот раздел содержит статьи, в которых рассказывается о использовании графики, звуков и т.п. в Python’е

Глава 11. Размещение виджетов с sizers(Перевод wxPython in Action)

Posted on 28.07.2010 by
No Comments

Эта глава включает

 

  • Понимание sizers
  • Размещение виджетов в sizers
  • Использование grid sizers
  • Использование box sizers
  • Sizers в действии

 

Традиционно, одна из наиболее раздражающих проблем в программировании интерфейса — управление физическим размещением виджетов в пределах окна. В начале, было абсолютное позиционирование, и программист явно устанавливал размер и позицию каждого виджета на экране. Процесс мягко выражаясь утомительный, не говоря уже о боли в шее. Хуже того, абсолютное позиционирование заставляет вас постоянно контролировать размер окна и расположение виджетов. Если вы позволяете пользователю, изменять размер окна, то вы должны обработать это событие, и явно изменить размер и позицию каждого виджета. После этого удостоверьтесь, что виджеты все еще выглядят хорошо, не накладываются друг на друга и не вылезают за край окна. Это даже хуже боли в шее. Ситуация еще более ухудшается, если пользователь может изменять число и тип виджетов на экране. И, конечно, если вы или ваш клиент решаете, что нужно внести изменения в интерфейс, вы должны пройти этот процесс снова и снова.

 

Нужна структура, которая решает, как изменить размеры и переместить виджеты, основанная на предопределенном шаблоне. Было предложено несколько решений этой проблемы. Рекомендованный способ работы со сложным размещением виджетов — использование sizers. Sizer содержит автоматизированный алгоритм для размещения группы виджетов. Sizer связан с контейнером, обычно с фреймом или панелью. Виджеты, которые созданы в пределах родительского контейнера, должны также быть добавлены в sizer. Когда sizer связан с контейнером, именно он управляет размещением элементов.

 

Преимущества использования sizers существенны. Sizer автоматически обрабатывает событие изменения размера контейнера, повторно вычисляя размещение его виджетов. С другой стороны, если изменились размеры одного из виджетов, sizer может автоматически обновить размещение. Кроме того, sizers просты в использовании, когда вы хотите изменить размещение. Использование sizers наклкдывает определенные ограничения на размещение объектов. Однако, самые гибкие sizers — grid bag  и box — будут в состоянии сделать почти все, что вы захотите.

Read more …

Categories: Мультимедиа

Глава 3. Работа в среде, управляемой событиями(Перевод wxPython in Action)

Posted on 27.07.2010 by
No Comments

Эта глава включает

 

  • Программирование в среде, управляемой событиями
  • Связь событий с обработчиками
  • Распространение событий в wxPython
  • Создание своих событий

 

Обработка событий — фундаментальный механизм, на котором основана работа программ wxPython. Такие программы называют программами, управляемыми событиями. В этой главе, мы обсудим, чем управляемое событиями приложение отличается от традиционного. Мы дадим краткий обзор понятий и терминологии, используемой в программирование GUI. Мы также расскажем о жизненном цикле типичной управляемой событиями программы.

 

Событие – это то, что случается в вашей системе, и на что ваше приложение может отреагировать, вызывая определенную функцию. Событие может быть низкоуровневым действием пользователя, типа перемещения мыши или нажатия клавиши, или высокоуровневым, типа выбора из меню. Событие может также быть создано операционной системой. Созданные вами объекты также могут создавать собственные события. Приложение wxPython работает, связывая определенный вид события с определенным программным кодом, который должен быть выполнен в ответ на событие. Такой программный код, связанный с событием, называется обработчиком события.

 

Эта глава рассказывает о событиях, о том как писать код для обработки событий, и о том как система wxPython вызывает ваш код, когда событие произошло. Мы также покажем вам, как добавить собственные события к библиотеке wxPython, которая содержит список стандартных пользовательских и системных действий.

 

Read more …

Categories: Мультимедиа

Глава 2. Крепкий фундамент для ваших программ(Перевод wxPython in Action)

Posted on 26.07.2010 by
No Comments

Перевод 2 главы из книги wxPython in Action

Эта глава включает

  • Создание и использование прикладного объекта
  • Перенаправление стандартного вывода
  • Завершение приложений в wxPython
  • Создание и использование главного окна
  • Помещение объектов на фрейм

Фондамент дома должен обеспечить надежную основу для остальных частей конструкции. Ваша wxPython программа также имеет фундамент, состоящий из двух необходимых объектов, которые поддерживают остальную часть вашего приложения. Это прикладной объект и главное окно. Используя эти объекты должным образом вы легко сможете построить остальные части вашего приложения.

В этой главе, вы будете работать с прикладным объектом, настраивая глобальные аспекты вашей программы, включая инициализацию, переадресацию вывода и завершение. Вы будете использовать различные стили окон. Вы будете также использовать простые диалоговые окна, чтобы получить информацию от пользователья. В конце главы, мы покажем как диагностировать и устранять общие проблемы при использовании прикладного объекта и главного окона.

 

Read more …

Categories: Мультимедиа

Создание Frame и MiniFrame средствами WxPython

Posted on 30.11.2009 by
No Comments

Данная статья на простых примерах покажет, как создать обычное окно Frame и MiniFrame средствами графической библиотеки WxPython (wxpython.org). Read more …

Categories: Мультимедиа

Tkinter: Переменные

Posted on 30.11.2009 by
No Comments

Библиотека Tkinter содержит специальные классы, объекты которых выполняют роль переменных для хранения значений о состоянии различных виджет. Изменение значения такой переменной ведет к изменению и свойства виджета, и наоборот: изменение свойства виджета изменяет значение ассоциированной переменной. Read more …

Categories: Мультимедиа

Tkinter: События

Posted on 29.11.2009 by
No Comments

Обычно, чтобы графическое приложение что-то сделало, должно случиться какое-нибудь событие, т. е. воздействие на GUI из вне.
Можно выделить три основных типа событий: производимые мышью, нажатиями клавиш на клавиатуре, а также события, возникающие в результате изменения других графических объектов..

Read more …

Categories: Мультимедиа

Tkinter: Метод bind

Posted on 29.11.2009 by
No Comments

Приложения с графическим интерфейсом пользователя (GUI) должны не просто красиво отображаться на экране, но и выполнять какие-либо действия, реализуя тем самым потребности пользователя. На прошлых уроках было рассказано как создать GUI, на этом уроке рассмотрим как добавить ему функциональность, т.е возможность совершать с его помощью те или иные действия.

В отличие от консольных приложений, которые обычно выполняются при минимальных внешних воздействиях, графическое приложение обычно ждет каких-либо внешних воздействий (щелчков кнопкой мыши, нажатий клавиш на клавиатуре, изменения виджетов) и затем выполняет заложенное программистом действие. Из такого принципа работы можно вывести следующую схему настройки функциональности GUI: на виджет что-то «влияет» из вне → выполняется какая-то функция (действие). Внешнее воздействие на графический компонент называется событием. Событий достаточно много (основной их перечень мы рассмотрим на следующем занятии). На этом занятии будем использовать лишь два вида событий: щелчок левой кнопкой мыши (<Button-1>) и нажатие клавиши Enter (<Return>).

Одним из способов связывания виджета, события и функции (того, что должно происходить после события) является использование метода bind. Read more …

Categories: Мультимедиа

Применение управляющих размещениями Tkinter

Posted on 29.11.2009 by
No Comments

В Tkinter (библиотеке компонентов графического интерфейса, входящей в Python по \»умолчанию\») есть три стандартных «менеджера геометрии» (англ. «Geometry Manager») — управляющих размещениями: Grid, Pack и Place. Занимаются они тем, что располагают на главном окне остальные виджеты, причем каждый из трех делает это по-своему. Подобным вопросам при невизуальном программировании приходится уделять немалое внимание в связи с отсутствием возможности весело тыкать мышкой по виджетам на панели, а затем сосредоточенно развозить их по окну, как, например, в VisualBasic.

Возможно, наиболее полная информация по управляющим размещениями представлена в «Введение в Tkinter» (автор Fredrik Lundh), главы 28, 35 и 37. Однако, отсутствие примеров в описании менеджера Pack и, так и оставшийся за гранью моего понимания, смысл некоторых англоязычных фраз в описании Place, привели к мысли \»поставить несколько опытов\» и увидеть на наглядных примерах принципы работы, преимущества и недостатки каждого из трех методов. Read more …

Categories: Мультимедиа

Tkinter: Виджеты (графические объекты) и их свойства. Часть 2

Posted on 29.11.2009 by
No Comments

На этом уроке мы продолжим рассматривать графические объекты (виджеты), содержащихся в библиотеке Tkinter. Это будут рамка (frame), шкала (scale), полоса прокрутки (scrollbar), окно верхнего уровня (toplevel). Read more …

Categories: Мультимедиа

Tkinter:Виджеты (графические объекты) и их свойства. Часть 1

Posted on 29.11.2009 by
No Comments

На этом уроке мы рассмотрим часть графических объектов (виджет), содержащихся в библиотеке Tkinter: кнопки, поля для ввода, метки, флажки, переключатели и списки. Следует понимать, что графический интерфейс пользователя достаточно стандартен, и поэтому любые подобные библиотеки-модули (в том числе и Tkinter) содержат приблизительно одинаковые виджеты. Read more …

Categories: Мультимедиа
Страница 1 из 212»
  • Категории

    • PyGame
    • Другое
    • Интернет
    • Книги
    • Мои приложения
    • Новости
    • Программирование
  • Свежие записи

    • Переезд на WordPress
    • Python for Android
    • Новый хостинг
    • Zope3.4
    • Введение в Zope3
  • Меню пользователя

    • Регистрация
    • Войти
  • Архивы

    • Февраль 2012 (2)
    • Май 2011 (1)
    • Апрель 2011 (2)
    • Февраль 2011 (4)
    • Январь 2011 (3)
    • Декабрь 2010 (1)
    • Июль 2010 (9)
    • Май 2010 (1)
    • Апрель 2010 (2)
    • Март 2010 (107)
    • Февраль 2010 (159)
    • Январь 2010 (144)
    • Декабрь 2009 (131)
    • Ноябрь 2009 (165)
    • Октябрь 2009 (103)
    • Сентябрь 2009 (6)
    • Август 2009 (46)
© World-Python.org. World-Python.org сайт посвященный языку программирования Python. На нем вы найдете исходные коды программ, написанных на Python, модули для питона, книги посвященные Python, игры написанные на Python'е (с использованием pygame)