Програмування під Symbian на Python

Так вже склалося, що я змінюю свої захоплення із другою космічною швидкістю. Кілька тижнів тому я захоплювався програмуванням на C++/Qt, а сьогодні на Python.

Так от, сьогодні я хотів би продемонструвати те, як написати простеньку програму для платформи Symbian на мові програмування Python. Для початку можна встановити інтепретатор і стандартну бібліотеку Python на Ваш девайс. Завантажити PythonForS60.sis та PythonScriptShell.sis, перейшовши по лінку http://sourceforge.net/projects/pys60/files/ — вам потрібно вибрати версію для своєї платформи, у мене це 3rd Edition (PythonForS60.sis потрібно встановити першим, потім PythonScriptShell.sis). Отже, Ви завантажили і встановили Python на Ваш девайс, тепер для написання програми нам знадобиться текстовий редактор, ну і звичайно підключення телефону до комп’ютера.

Запускаємо свій найулюбленіший текстовий редактор і вводимо наступний код:


import e32 #Підключення модуля додаткових утиліт, які не входять в стандартну бібліотеку модулів Python
import appuifw #Підключаємо модуль графічного інтерфейсу користувача
import sysinfo #Підключаємо модуль системної інформації

def exit_key_handler():
    app_lock.signal()


def AppGUISettings(): #Функція для налаштування інтерфейсу програми
    inst.font = u"LatinPlain12" #Вказуємо шрифт для відображення тексту у Text Box
    inst.set(u"OS Version: " + unicode(str(sysinfo.os_version()))) #Вказуємо текст, який повинен відображатися у Text Box’і
    appuifw.app.title = u"pySySInfo" #Вказуємо заголовок програми
    appuifw.app.screen = 'normal' #Вказуємо тип вікна програми


if __name__ == '__main__':
    inst = appuifw.Text() #Створюємо новий елемент Text Box
    AppGUISettings() #Функція налаштувань інтерфейсу
    app_lock = e32.Ao_lock()
    appuifw.app.body = inst #Вказуємо "тіло" інтерфейсу нашой програми
    appuifw.app.exit_key_handler = exit_key_handler
    app_lock.wait()


Написання програм під Symbian на мові програмування Python мало чим відрізняється від програмування тих же програм на ПК — переважно назвами класів, методів тощо.

Зі всіма рядками у програмі потрібно використовувати юнікод, але збережання самого файлу програми у кодувані UTF8 не рекомендується — краще у Latin-1 (ISO-8859-1) чи подібних до нього.

P.S. Якщо комусь ця тема буде цікава я продовжу написання статей.
  • +5
  • 24 червня 2010, 00:01
  • coirius

Коментарі (6)

RSS згорнути / розгорнути
+
0
Дрібниці, та все ж:
1. Форматування — розбити текст на абзаци;
2. Кат!
3. Чому б частину коду не перенести до ф-ції main()?
avatar

sashko

  • 24 червня 2010, 10:41
+
0
1. Форматування — розбити текст на абзаци; — Зроблено!
2. Кат! — Зроблено!
3. Чому б частину коду не перенести до ф-ції main()? — Переніс в окрему функцію.
avatar

coirius

  • 24 червня 2010, 11:46
+
0
1. Та ні, не код програми, а текст посту :)
2. Круто!
3. Дер ґуд!

Дякую!
avatar

sashko

  • 24 червня 2010, 12:27
+
+1
Виправив.
avatar

coirius

  • 24 червня 2010, 12:38
+
0
Тема дійно дуже цікава. Пишіть :)
avatar

feather

  • 25 червня 2010, 11:35
+
0
*дійсно
avatar

feather

  • 25 червня 2010, 11:35

Тільки зареєстровані й авторизовані користувачі можуть залишати коментарі.