<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>it4it &#187; Переводы</title>
	<atom:link href="http://www.it4it.ru/index.php/category/perev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.it4it.ru</link>
	<description>Блог обо всем моем</description>
	<lastBuildDate>Wed, 28 Sep 2011 20:12:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Шрифты в Linux как в WinXP (CRT)</title>
		<link>http://www.it4it.ru/index.php/2008/12/22/shrifty-v-linux-kak-v-winxp-crt/</link>
		<comments>http://www.it4it.ru/index.php/2008/12/22/shrifty-v-linux-kak-v-winxp-crt/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 22:50:51 +0000</pubDate>
		<dc:creator>gigimon</dc:creator>
				<category><![CDATA[*nix]]></category>
		<category><![CDATA[Переводы]]></category>
		<category><![CDATA[crt]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[монитор]]></category>
		<category><![CDATA[шрифты]]></category>

		<guid isPermaLink="false">http://www.it4it.ru/?p=207</guid>
		<description><![CDATA[Недавно надоело смотреть на корявенькие шрифты в Linux, стал гуглить, н онаходил только настройку для LCD монитора, а у меня CRT еще. Узнал по форумам, дали ссылку на проект SharpFonts. Воспользовался мануалом, получил шрифты как в винде. Хочу вот перевести ман, для тех кто слабо знает английский. Для начала надо убедиться, что в системе установлено: [...]]]></description>
			<content:encoded><![CDATA[<p>Недавно надоело смотреть на корявенькие шрифты в Linux, стал гуглить, н онаходил только настройку для LCD монитора, а у меня CRT еще. Узнал по форумам, дали ссылку на проект <a title="SharpFonts" href="http://sharpfonts.com/">SharpFonts</a>. Воспользовался мануалом, получил шрифты как в винде. Хочу вот перевести ман, для тех кто слабо знает английский.</p>
<p><span id="more-207"></span></p>
<p>Для начала надо убедиться, что в системе установлено:</p>
<ul>
<li>fontconfig (обычно идет во всех дистрибутивах)</li>
<li>freetype2 с поддержкой ByteCode Interpreter</li>
</ul>
<p>После этого, требуется скачать шрифты от Microsoft. Но сперва прочитайте лицензию <a title="EULA" href="http://sharpfonts.com/MS-EULA.txt">EULA</a>, и если согласны с ней, вперед, скачивать <img src='http://www.it4it.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://sharpfonts.com/fonts/andale32.exe">andale32.exe</a> <a href="http://sharpfonts.com/fonts/arial32.exe">arial32.exe</a> <a href="arialb32.exe">arialb32.exe</a> <a href="comic32.exe">comic32.exe</a><br />
<a href="http://sharpfonts.com/fonts/courie32.exe">courie32.exe</a> <a href="http://sharpfonts.com/fonts/georgi32.exe">georgi32.exe</a> <a href="http://sharpfonts.com/fonts/impact32.exe"> impact32.exe</a> <a href="http://sharpfonts.com/fonts/tahoma32.exe">tahoma32.exe</a><br />
<a href="http://sharpfonts.com/fonts/times32.exe">times32.exe</a> <a href="http://sharpfonts.com/fonts/trebuc32.exe">trebuc32.exe</a> <a href="http://sharpfonts.com/fonts/verdan32.exe">verdan32.exe</a> <a href="http://sharpfonts.com/fonts/webdin32.exe">webdin32.exe</a></p>
<p>После того как скачаете, надо установить пакет cabextract и распаковать эти пакеты командой (от рута):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>fonts<span style="color: #000000; font-weight: bold;">/</span>truetype<span style="color: #000000; font-weight: bold;">/</span>
&nbsp;
cabextract <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>fonts<span style="color: #000000; font-weight: bold;">/</span>truetype<span style="color: #000000; font-weight: bold;">/</span> andale32.exe arial32.exe arialb32.exe comic32.exe courie32.exe georgi32.exe impact32.exe tahoma32.exe times32.exe trebuc32.exe verdan32.exe webdin32.exe</pre></div></div>

<p>Затем,  скачать <a href="http://sharpfonts.com/fontconfig.tbz">файлы</a> конфигурации и распаковать их в /etc/fonts с заменой старых:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> xvjpf fontconfig.tbz <span style="color: #660033;">-C</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>fonts<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>После перезапуска иксов, у вас будут  шрифты как в WinXP</p>
<p>Удачи <img src='http://www.it4it.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Авторство принадлежит <a href="http://sharpfonts.com/">SharpFonts</a></p>
<script type="text/javascript" src="http://odnaknopka.ru/wp/ok2.utf8.js"></script><script type="text/javascript">okbm("http://www.it4it.ru/index.php/2008/12/22/shrifty-v-linux-kak-v-winxp-crt/","Шрифты в Linux как в WinXP (CRT)")</script><hr />Copyright © <a href="it4it.ru">it4it</a>. Это персональный, не коммерческий Feed. Если вы читаете этот материал не в вашем RSS клиенте, сайт на котором он находиться получил его незаконным образом.]]></content:encoded>
			<wfw:commentRss>http://www.it4it.ru/index.php/2008/12/22/shrifty-v-linux-kak-v-winxp-crt/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Написание GUI для Python с помощью EasyGUI</title>
		<link>http://www.it4it.ru/index.php/2008/09/11/napisanie-gui-dlya-python-s-pomoshhyu-easygui/</link>
		<comments>http://www.it4it.ru/index.php/2008/09/11/napisanie-gui-dlya-python-s-pomoshhyu-easygui/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 18:05:00 +0000</pubDate>
		<dc:creator>gigimon</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Переводы]]></category>
		<category><![CDATA[easygui]]></category>
		<category><![CDATA[перевод]]></category>

		<guid isPermaLink="false">http://it4it.ru/?p=38</guid>
		<description><![CDATA[Хочу начать по-тихоньку переводить некоторые полезные статьи относящиеся к компьютерах. Как проба пера, хочу перевести небольшую инструкцию по использованию EasyGui. Объективная, не грубая критика принимается в комментариях. В большинстве случаев, для создания графического интерфейса используют библиотеку Tkinter, либо аналогичную другую. Чаще всего, это делают люди обладающие достаточным опытом программирования на Python, т.к. требуется достаточно много [...]]]></description>
			<content:encoded><![CDATA[<p>Хочу начать по-тихоньку переводить некоторые полезные статьи относящиеся к компьютерах. Как проба пера, хочу перевести небольшую инструкцию по использованию EasyGui. Объективная, не грубая критика принимается в комментариях.</p>
<p>В большинстве случаев, для создания графического интерфейса используют библиотеку Tkinter, либо аналогичную другую. Чаще всего, это делают люди обладающие достаточным опытом программирования на Python, т.к. требуется достаточно много сложного кода. К счастью, модуль EasyGUI добавляет возможность быстро и легко написать качественный GUI для вашего скрипта. Используя EasyGUI, требуется всего лишь несколько строк, для создания визуальных элементов.</p>
<p>Лучший путь изучения EasyGUI раскрывается при использовании его с уже существующим скриптом. Данный пример будет строиться на создании GUI интерфейса к программе Pygmynote &#8211; простой менеджер информации, созданный для личного использования, записи заметок, ссылок. Хотя Pygmynote и не сложен в использовании, добавим к нему несколько строчек ввода, сделающие его более легким для управления записями.</p>
<p>Перед началом работы, надо установить EasyGUI. Скачайте последнюю версию с официального сайта, распакуйте полученный архив и перенесите файл easygui.py в директорию /usr/lib/python2.5/site-packages. Для импортирования модуля EasyGUI используйте в своем скрипте строчку (в начале скрипта)</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> easygui <span style="color: #ff7700;font-weight:bold;">import</span></pre></div></div>

<p>Теперь можно приступать к изучению.</p>
<p>Для начала создадим окно приветствия программы Pygmynote, которое будет встречать пользователей при запуске с помощью всплывающего окна MessageBox. Функция msgbox требует всего-лишь один обязательный параметр, текст сообщения:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">msgbox<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Pygmynote is ready.&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Помимо этого, у нее есть еще три параметра, которые можно использовать для задания различных функций сообщения: заголовок (box title), подпись кнопки (the button label) и картинку. Вы можете использовать последний параметр для выделения окна с помощью .gif рисунка. Пример окна со всеми тремя параметрами:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">image = <span style="color: #483d8b;">&quot;pygmynote.gif&quot;</span>
msgbox<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Pygmynote is ready.&quot;</span>, <span style="color: #483d8b;">&quot;Pygmynote&quot;</span>, ok_button=<span style="color: #483d8b;">&quot;Pile up!&quot;</span>, image=image<span style="color: black;">&#41;</span></pre></div></div>

<p>Для более легкого использования Pygmynote, можно создать меню со списком, содержащее все команды. Пользователь сможет выполнить эту команду выбрав ее из списка и нажав на кнопку &#8220;Ok&#8221;, или с помощью двойного клика по выбранной команде. Чтобы это сделать, можно использовать EasyGui&#8217;s choicebox функции. Также как и msgbox, checkbox имеет три параметра: сообщение (the choicebox&#8217;s message), заголовок (the window title), и список опций (a list of options):</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">msg =<span style="color: #483d8b;">&quot;What's your favorite fruit?&quot;</span>
title = <span style="color: #483d8b;">&quot;Fruity&quot;</span>
choices = <span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;Apple&quot;</span>, <span style="color: #483d8b;">&quot;Apricot&quot;</span>, <span style="color: #483d8b;">&quot;Pineapple&quot;</span><span style="color: black;">&#93;</span>
choice = choicebox<span style="color: black;">&#40;</span>msg, title, choices<span style="color: black;">&#41;</span></pre></div></div>

<p>Когда пользователь выберет один из параметров и нажмет на кнопку &#8220;Ok&#8221; (или двойной клик на выбраном), то функция вернет имя выбранного элемента. Чтобы создать choicebox для Pygmenot, надо в список добавить параметры программы:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">msg =<span style="color: #483d8b;">&quot;Select command and press OK&quot;</span>
title = <span style="color: #483d8b;">&quot;Pygmynote&quot;</span>
choices = <span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;Help&quot;</span>, <span style="color: #483d8b;">&quot;Insert new record&quot;</span>, <span style="color: #483d8b;">&quot;Show all records&quot;</span>, <span style="color: #483d8b;">&quot;Quit&quot;</span><span style="color: black;">&#93;</span>
command = choicebox<span style="color: black;">&#40;</span>msg, title, choices<span style="color: black;">&#41;</span></pre></div></div>

<p>Если вы сейчас запустите скрипт, то увидите окно choicebox с отсортированным по алфавиту содержимым. Почему EasyGUI не соблюдает порядок установки параметров? Чтобы этого избежать, надо использовать такую запись: &#8220;1 &#8211; Insert new record&#8221; или &#8220;X &#8211; Quit&#8221;.</p>
<p>Следующая часть разработки нашего скрипта, это отображение найденых результатов.  Следующий код, показывает все полученные значения:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">elif</span> command==<span style="color: #483d8b;">&quot;a&quot;</span>:
  cursor.<span style="color: black;">execute</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;SELECT * FROM notes ORDER BY id ASC&quot;</span><span style="color: black;">&#41;</span>
  rows = cursor.<span style="color: black;">fetchall</span> <span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">for</span> row <span style="color: #ff7700;font-weight:bold;">in</span> rows:
      <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>   %s %s [%s]&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>row<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>, row<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>, row<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>   Number of records: %d&quot;</span> <span style="color: #66cc66;">%</span> cursor.<span style="color: black;">rowcount</span></pre></div></div>

<p>Используя функцию textblock можно отобразить множество строк в приятном text box. Чтобы это создать, вам надо немного изменить код возвращающий каждую найденую запись в виде строки. Используйте result_list = [] для создания пустого списка, и метод .append для добавления в него записей:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">elif</span> command==<span style="color: #483d8b;">&quot;Show all records&quot;</span>:
  cursor.<span style="color: black;">execute</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;SELECT * FROM notes ORDER BY id ASC&quot;</span><span style="color: black;">&#41;</span>
  rows = cursor.<span style="color: black;">fetchall</span> <span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
  result_list = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
  <span style="color: #ff7700;font-weight:bold;">for</span> row <span style="color: #ff7700;font-weight:bold;">in</span> rows:
      record_str = <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>%s %s [%s]&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>row<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>, row<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>, row<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
      result_list.<span style="color: black;">append</span> <span style="color: black;">&#40;</span>record_str<span style="color: black;">&#41;</span>
  textbox <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Found records:&quot;</span>, <span style="color: #483d8b;">&quot;Pygmynote&quot;</span>, result_list<span style="color: black;">&#41;</span></pre></div></div>

<p>EasyGui&#8217;s boolbox функция позволяет вручную контролировать потоки скрипта. Для примера, когда вы обновляете запись в Pygmynote, скрипт спрашивает, уверены ли вы в обновлении записи или тэга. Оригинальный код выполняющий данную функцию таков:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">elif</span> command==<span style="color: #483d8b;">&quot;u&quot;</span>:
  input_id=<span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Record id: &quot;</span><span style="color: black;">&#41;</span>
  input_type=<span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Update note (n) or tags (t): &quot;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">if</span> input_type==<span style="color: #483d8b;">&quot;n&quot;</span>:
      input_update=<span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Note: &quot;</span><span style="color: black;">&#41;</span>
      sqlstr=escapechar<span style="color: black;">&#40;</span>input_update<span style="color: black;">&#41;</span>
      cursor.<span style="color: black;">execute</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;UPDATE notes SET note='&quot;</span> + sqlstr + <span style="color: #483d8b;">&quot;' WHERE id='&quot;</span> + input_id + <span style="color: #483d8b;">&quot;'&quot;</span><span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">else</span>:
      input_update=<span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Tags: &quot;</span><span style="color: black;">&#41;</span>
      sqlstr=escapechar<span style="color: black;">&#40;</span>input_update<span style="color: black;">&#41;</span>
      cursor.<span style="color: black;">execute</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;UPDATE notes SET tags='&quot;</span> + sqlstr + <span style="color: #483d8b;">&quot;' WHERE id='&quot;</span> + input_id + <span style="color: #483d8b;">&quot;'&quot;</span><span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Record has been updated.&quot;</span></pre></div></div>

<p>Функция boolbox позволяет вам показать диалоговое окно с двумя кнопками. Функция возвратит 1, если нажата первая кнопка, и 0 &#8211; если вторая. Вот простой пример:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">if</span> boolbox<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;What do monkeys like most?&quot;</span>, <span style="color: #483d8b;">&quot;Pygmynote&quot;</span>, <span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;Bread&quot;</span>, <span style="color: #483d8b;">&quot;Bananas&quot;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>:
msgbox <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Well, not really.&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
msgbox <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Yep, that's what they like most.&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>В нашем случае, вы можете использовать функцию boolbox для показа диалогового окна с двумя кнопками выбора &#8220;Note&#8221; или &#8220;Tag&#8221;, и перенаправления на обработку этого выбора:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">elif</span> command==<span style="color: #483d8b;">&quot;Update record&quot;</span>:
  input_id=enterbox<span style="color: black;">&#40;</span>msg=<span style="color: #483d8b;">'Record ID: '</span>, title=<span style="color: #483d8b;">'Pygmynote'</span>, default=<span style="color: #483d8b;">''</span>, strip=<span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">if</span> boolbox<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;What do you want to update?&quot;</span>, <span style="color: #483d8b;">&quot;Pygmynote&quot;</span>, <span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;Note&quot;</span>, <span style="color: #483d8b;">&quot;Tags&quot;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>:
    input_update=enterbox<span style="color: black;">&#40;</span>msg=<span style="color: #483d8b;">'Enter note: '</span>, title=<span style="color: #483d8b;">'Pygmynote'</span>, default=<span style="color: #483d8b;">''</span>, strip=<span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
    sqlstr=escapechar<span style="color: black;">&#40;</span>input_update<span style="color: black;">&#41;</span>
    cursor.<span style="color: black;">execute</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;UPDATE notes SET note='&quot;</span> + sqlstr + <span style="color: #483d8b;">&quot;' WHERE id='&quot;</span> + input_id + <span style="color: #483d8b;">&quot;'&quot;</span><span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">else</span>:
    input_update=enterbox<span style="color: black;">&#40;</span>msg=<span style="color: #483d8b;">'Enter tags: '</span>, title=<span style="color: #483d8b;">'Pygmynote'</span>, default=<span style="color: #483d8b;">''</span>, strip=<span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
    sqlstr=escapechar<span style="color: black;">&#40;</span>input_update<span style="color: black;">&#41;</span>
    cursor.<span style="color: black;">execute</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;UPDATE notes SET tags='&quot;</span> + sqlstr + <span style="color: #483d8b;">&quot;' WHERE id='&quot;</span> + input_id + <span style="color: #483d8b;">&quot;'&quot;</span><span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
  msgbox <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Record has been updated.&quot;</span>, <span style="color: #483d8b;">&quot;Pygmynote&quot;</span>, ok_button=<span style="color: #483d8b;">&quot;Close&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Для создания imput box только с числовыми вариантами, можно использовать функцию integerbox. В параметры функции можно задать верхний и нижний диапазон. Для примера, можно модифицировать часть скрипта Pygmynote отображающего календарь с месяцами от 1 до 12:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">inputmonth=integerbox<span style="color: black;">&#40;</span>msg=<span style="color: #483d8b;">'&quot;Month (1-12): &quot;'</span>, title=<span style="color: #483d8b;">'Pygmynotes'</span>, default=<span style="color: #483d8b;">''</span>, argLowerBound=<span style="color: #ff4500;">1</span>, argUpperBound=<span style="color: #ff4500;">12</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Также, EasuGUI предлагает функцию diropenbox, которая показывает dialog box выбора директории. Вы можете добавить эту функцию в часть скрипта Pygmynote для выбора пути сохранения всех записей pygmynote.txt.. Оригинальная часть кода сохраняющая все записи в исходную папку, но используя diropenbox для указания пользователем папки сохранения:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">elif</span> command==<span style="color: #483d8b;">&quot;Save all records as pygmynote.txt&quot;</span>:
  cursor.<span style="color: black;">execute</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;SELECT * FROM notes ORDER BY id ASC&quot;</span><span style="color: black;">&#41;</span>
  rows = cursor.<span style="color: black;">fetchall</span> <span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
  filedir = diropenbox<span style="color: black;">&#40;</span>msg=<span style="color: #483d8b;">&quot;Select directory&quot;</span>, title=<span style="color: #483d8b;">&quot;Pygmynote&quot;</span>, default=<span style="color: #008000;">None</span><span style="color: black;">&#41;</span>
  filename = filedir + <span style="color: #dc143c;">os</span>.<span style="color: black;">sep</span> + <span style="color: #483d8b;">&quot;pygmynote.txt&quot;</span>
  <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span>filename<span style="color: black;">&#41;</span>:
      <span style="color: #dc143c;">os</span>.<span style="color: black;">remove</span><span style="color: black;">&#40;</span>filename<span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">for</span> row <span style="color: #ff7700;font-weight:bold;">in</span> rows:
     <span style="color: #008000;">file</span> = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>filename, <span style="color: #483d8b;">'a'</span><span style="color: black;">&#41;</span>
     <span style="color: #008000;">file</span>.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%s<span style="color: #000099; font-weight: bold;">\t</span>%s<span style="color: #000099; font-weight: bold;">\t</span>[%s]<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>row<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>, row<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>, row<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
     <span style="color: #008000;">file</span>.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
  msgbox <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Records have been saved in the pygmynote.txt file.&quot;</span>, <span style="color: #483d8b;">&quot;Pygmynote&quot;</span>, ok_button=<span style="color: #483d8b;">&quot;Close&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>EasyGui не может заменить полнофункциональные библиотеки для создания интерфейсов, такие как TKinter, WxPython, GTK+, QT, но является замечательным средством для создания интерфейсов простых скриптов новичками.</p>
<p>Ссылки: <a title="УфынПГШ" href="http://www.linux.com/feature/145949" target="_blank">первоисточник</a></p>
<p>Официальный сайт <a title="EasyGui сайт" href="http://easygui.sourceforge.net/" target="_blank">EasyGUI</a></p>
<p>Скрипт <a title="Pygmynote" href="http://code.google.com/p/pygmynote/" target="_blank">Pygmynote</a></p>
<p><a title="EasyGui tutorial" href="http://www.ferg.org/easygui/tutorial.html" target="_blank">EasyGui tutorial </a></p>
<script type="text/javascript" src="http://odnaknopka.ru/wp/ok2.utf8.js"></script><script type="text/javascript">okbm("http://www.it4it.ru/index.php/2008/09/11/napisanie-gui-dlya-python-s-pomoshhyu-easygui/","Написание GUI для Python с помощью EasyGUI")</script><hr />Copyright © <a href="it4it.ru">it4it</a>. Это персональный, не коммерческий Feed. Если вы читаете этот материал не в вашем RSS клиенте, сайт на котором он находиться получил его незаконным образом.]]></content:encoded>
			<wfw:commentRss>http://www.it4it.ru/index.php/2008/09/11/napisanie-gui-dlya-python-s-pomoshhyu-easygui/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
	</channel>
</rss>

