Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Python easygui: в допомогу починаючим пітоноводам

"Ми всі вчилися потроху ..."

А.С. Пушкін

Багато зараз виявляють інтерес до мови "Пайтон" (Python) - вільному інтерпретованих об'єктно-орієнтованого мови програмування високого рівня. Ця мова створив Гуїдо ван Россум і назвав на честь свого улюбленого шоу "Monty Python's Flying Circus".

Інтерес до проекту ван Россум абсолютно не випадковий. "Пайтон" - мова універсальний, він широко використовується в усьому світі для самих різних цілей - бази даних, обробка текстів, створення полігонів і розширень для редакторів GIMP і Blender, веб-додатки. Його використовує Google як основний скриптова мова в своїх жахливих дата-центрах. "Пайтон" є кросплатформним, а на платформі "Лінукс" він став вже практично обов'язковим нарівні з bash.

"Пайтон" володіє багатою стандартною бібліотекою і ще більш багатим набором модулів, написаних третіми особами. Пропоную познайомитися з модулем easygui, який, в першу чергу, може вельми стати в нагоді новачкам, хто зацікавився "Пайтон". Але і які набили руку в цій мові даний модуль може вельми спростити кодинг.

Модуль easygui - це джентльменський набір з двох десятків функцій-методів, що полегшують в скриптах "Пайтона" створення елементів графічного інтерфейсу. Графічний інтерфейс в "Пайтон" реалізується за допомогою бібліотек TKinter і WxPython, які для початківця можуть виявитися недостатньо легкими. Методи easygui є як би обгорткою до функцій TKinter, в результаті чого елементи графічного інтерфейсу легко і невимушено викликаються в одну-дві строчки. Це дозволяє на перших порах початківцям не особливо заморочуватися вивченням цієї самої бібліотеки TKinter. Також easygui буде хороший і для чорнових начерків скриптів з графічним інтерфейсом. Але все-таки повноцінного графічного додатку на "Пайтон" за допомогою цього модуля ви не створите.

Сайт бібліотеки - easygui.sourceforge.net . Сама бібліотека easygui.py важить близько 50 кілобайт. Для задіяння цього модуля його слід помістити в каталог разом з виконуваним скриптом або ж покласти в системну папку бібліотек "Пайтона". Наприклад, для системи "Лінукс" це каталог /usr/lib/python2.5/site-packages. Завантажуються всі методи в виконуваний скрипт стандартним шляхом:

from easygui import *

Модуль може працювати в демонстраційному режимі:

$ Python easygui.py

З'явиться вікно зі списком-меню всіх візуальних елементів цієї бібліотеки, які можна подивитися безпосередньо в дії. Також в папці, звідки імпортовано easygui.py, утворюється спеціальний файл easygui.pyc, який представляє собою платформо-незасімий байт-код, який використовується для збільшення швидкості роботи модуля.

Почнемо з елементів відображення інформації. Найпростіше - це звичайне віконце повідомлення msgbox з великою кнопкою "ок" посередині. Методу msgbox можна передати не тільки текст повідомлення і заголовок, а й файл зображення в форматі gif:

message = 'Привіт, світ!' title = 'Привіт' button = 'OK' image = 'python.gif' msgbox (message, title, button, image)

Для відображення більш широкою текстової інформації з текстових файлів представлені елементи textbox і codebox. Вони являють собою поля виведення тексту з необхідними для читання смугами прокрутки. Різниця між ними в тому, що textbox виводить текст з переносами рядки, а codebox зберігає все форматування табуляцією, пробілами і переносами як є.

filename = 'text.txt' f = open (filename, 'r') content = f.readlines () f.close () codebox (filename, 'Перегляд файлу', content)

Є велика кількість діалогових вікон різного типу, для забезпечення інтерактивного вибору і управління скриптом. Так, елементи ccbox, ynbox видають банальні діалоги типу "Continue-Cancel", "Yes-No". Діалоги buttonbox, indexbox, boolbox дозволяють на свій розсуд задавати параметри кнопок:

msg = 'Вибрати поета' title = '' choices = [ 'Пушкін', 'Кукушкін'] choice = indexbox (msg, title, choices)

Для більш просунутого вибору призначені елементи меню choicebox і multchoicebox. Останній дозволяє вибрати кілька елементів з меню і повертає отриманий набір у вигляді списку:

title = 'Поезія' msg = 'Ваш улюблений поет?' choices = [ 'Пушкін', 'Пастернак', 'Маяковський', 'Ахматова'] choice = choicebox (msg, title, choices)

Елементи введення інформації теж присутні. Enterbox, multenterbox і integerbox призначені для введення строкових і цифрових значень, відповідно. Passwordbox і multipasswordbox - для введення у вигляді зірочок суперсекретних даних типу пароля.

І завершують бібліотеку елементи для роботи з файлами і каталогами diropenbox, file-openbox, filesavebox. Це звичні всім діалоги відкриття-закриття файлів типу "Open file", "Save file". Самі ці методи ніяких файлових операцій не виробляють, а просто повертають рядок з ім'ям обраного файлу або каталогу.

От і все. Як бачите, бібліотека не дуже складна у використанні. Дуже швидко відмінник з інформатики в школі зможе створити невеликі Кросплатформені додатки типу перевірки знань з літератури та інших предметів. Шароварники такі програми не пишуть, а ось вчительці буде приємно.

Михайло АСТАПЧІК

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.