Python » Страница 778

-

Программирование на Python



dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#7771

простейший пример.

import appuifw as aw
import e32
lock = e32.Ao_lock()
def select1():
func2()
def func1():
aw.app.body = lb1
aw.app.exit_key_handler = lock.signal
def func2():
aw.app.body = lb2
aw.app.exit_key_handler = func1
lb1 = aw.Listbox([u'item_lb1_1', u'item_lb1_2'], select1)
lb2 = aw.Listbox([u'item_lb2_1', u'item_lb2_2'])
func1()
lock.wait()

txtfield - модуль от watt

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7772

а.
смысл в том что сначала создаются объъекты листбокс, а потом отображаются. я же правильно понял?
-------------
добавлено в 14.17: кстати, если использовать txtfield, то поиск наверное будет не в реальном времени?
типа как в контакте, вводим букву и идет мгновенный поиск контакта

или это надо паралельно обрабатывать как-то?

dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#7773

хм. Наоборот не получится). Смысл, что переключаясь между объектами ты естественно вернешься на то место, откуда ушел. Если хочешь юзать один объект, то для первого листбокса есть set_list, для второго set_current. Но это не гуд и возни больше.
-------------
добавлено в 13.25: в txtfield надо пробовать, не будет ли он мешать забиндить клавиши, ну или keycapture и считывай при каждом нажатии

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7774

dimy44
хм. Наоборот не получится).

у меня просто было реализовано вот так.
import appuifw as aw
import e32
lock = e32.Ao_lock()
def select1():
func2()
def func1():
lb1 = aw.Listbox([u'item_lb1_1', u'item_lb1_2'], select1)
aw.app.body = lb1
aw.app.exit_key_handler = lock.signal
def func2():
lb2 = aw.Listbox([u'item_lb2_1', u'item_lb2_2'])
aw.app.body = lb2
aw.app.exit_key_handler = func1
func1()
lock.wait()

dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#7775

нет смысла снова и снова объект создавать. Если уж так надо внутри функции, то тоже надо сделать, чтоб один раз. Например

class Pass: pass
p = Pass()
def func1():
try: p.lb1
except AttributeError:
p.lb1 = aw.Listbox([u'item_lb1_1', u'item_lb1_2'], select1)
aw.app.body = p.lb1

привязал к инстансу класса, чтоб global не использовать

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7776

for i in db[dic_contacts[contacts_list_group_name[index]]].find():

иногда db[dic_contacts[contacts_list_group_name[index]]].find() возвращает RuntaimError, как в таком случаем перехватить ошибку через try:except
ато скрипт вываливается в консоль
-------------
добавлено в 16.02: т.е. это не ошибка кода.
там происходит поиск фидов, если попадаются неизвестные фиды питону, то она возвращает исключение.
это не ошибка, просто питон не обновляется

конкретная ошибка такая
c:\resorce\python25\python25.zip\contacts.py:161:RuntaimWarning:new fieldtype (многа цифр) not recognized. api_mappings update needed? .....

JOIN_ME


репутация:
на сайте с 1970 года
сообщений:

#7777

Да просто в глобальном пространстве создать ее и все.

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7778

вот если её использовать в циклве for она возвращает объект ContactField. к которым потом легко обращаться

if i.location=='home':
loc=u' (домашний)'
elif i.location=='work':
loc=' (рабочий)'

если просто написать
a= db[dic_contacts[contacts_list_group_name[index]]].find()

тогда a - простой list, который уже надо парсить, чтобы получить данные

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7779

а вот интересно.

e32.s60_version_info
Информация о версии SDK

(1,2) - Series 60 1st Edition
(2,0) - Series 60 2nd Edition
(2,6) - Series 60 2nd Edition Feature Pack 2
(3,0) - Symbian 9.1
(3,1) - Symbian 9.2
(3,2) - Symbian 9.3
(5,0) - Symbian 9.4
(5,3) - Symbian Belle

какие ещё значения она может вернуть и какой симбе она соответствует. спасибо.
на анне что она возвращает?

JOIN_ME


репутация:
на сайте с 1970 года
сообщений:

#7780

Какой поставишь, такой и будет. =) Я когда-то офигевал, почему вдруг на 8.0 оси запускалось то, что должно работать только на 8.1. Оказывается питон для 8.1 впихнули.


Яндекс.Метрика