Уведомления

Группа в Telegram: @pythonsu

#1 Март 16, 2010 13:09:26

Usper
От:
Зарегистрирован: 2010-03-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

Имеется Nokia 5800 (S60 5th, прошивка 40.0.005) с установленным Python for s60 2.0. Столкнулся с тем, что глючит стандартный пример filebrowser, идущий в комплекте с Python Script Shell. Проблема заключается в том, что не перерисовывается содержимое стандартного компонента ListBox при прокрутке. То есть ползунок полосы прокрутки нормально перемещается, но содержимое списка остаётся прежним, до тех пор пока не ткнёшь в какой-нибудь пункт меню. Только тогда этот пункт (единственный) будет перерисован на нужный. При этом получается мешанина из пунктов с разных экранов до тех пор, пока не ткнёшь в каждый пункт на текущем экране. При кинетической прокрутке всё тоже самое при этом ползунок прокрутки плавно перемещается. Написал простенький срипт:

import appuifw 
import e32

def zzz():
appuifw.app.set_exit()

appuifw.app.body=appuifw.Listbox([u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"10", u"11"], zzz)
e32.Ao_lock().wait()
глюки те же самые. Что это? На другом форуме владельцы сартфонов на S60 3rd и владельцы самсунгов на S60 5th говорят, что у них всё в порядке. Это у меня личные глюки? Я только начал баловаться с питоном и на предыдущей прошивке ситуацию с ListBox'ом не проверял.



Офлайн

#2 Март 16, 2010 13:52:22

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

Нет, это всеобщие глюки, связанные с тем что nokia слегка поторопилась с бекпортом кинетики на 5800….



Офлайн

#3 Март 16, 2010 15:23:13

Usper
От:
Зарегистрирован: 2010-03-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

Это проблема реализации питона или прошивки? Представители Нокии что-нибудь говорят?



Офлайн

#4 Март 16, 2010 17:13:04

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

Скорее всего глюк в прошивке, что то не учли, так как на 31-й прошивке все работало нормально.
Посмотрим что выйдет быстрее, новая версия питона, где этот глюк возможно как то обойдут (в багтрекере питона такой тикет уже есть), или новая версия прошивки, в которой это исправят (PyS60 это проект нокии, значит они как то контактируют).
Лучше конечно в appuifw поправили бы, чтоб работало у юзеров на 40-й прошивке, так как не сразу же бегут обновлять прошивку, некоторые упорно на 10-й даже остаются.



Офлайн

#5 Фев. 7, 2011 14:16:43

AndreyVN
От:
Зарегистрирован: 2011-02-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

Вот уже год почти теме.
Воз и ныне там? Может быть, можно этот глюк как-то обойти?
Если прокрутить список и повернуть экран (т.е. весь телефон), то список перерисовывается и выглядит нормально. Но, конечно, вертеть телефон только для обновления списка, также как и тыкать пальцами во все элементы списка… :( Нельзя ли его как-то принудительно перерисовывать?



Офлайн

#6 Фев. 14, 2011 22:21:03

PyFan
От:
Зарегистрирован: 2011-02-14
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

Используйте другую реализацию списка (selection list):
http://mobilenin.com/pys60/resources/selection_list.py

# Copyright (c) 2005 Jurgen Scheible
# This script executes a dialog that allows the users to select
# an item in a list and returns the index (of the list) of the chosen item
# It uses the .selection_list() function of the appuifw module
# appuifw.selection_list(choices=list , search_field=0 or 1)


# import the application user interface framework module
import appuifw

# define the list of items (items must written in unicode! -> put a u in front)
L = [u'cakewalk', u'com-port', u'computer', u'bluetooth', u'mobile', u'screen', u'camera', u'keys']

# create the selection list
index = appuifw.selection_list(choices=L , search_field=1)

# use the result of the selection to trigger some action (here we just print something)
if index == 0:
print "cakewalk was selected"
else:
print "thanks for choosing"


# the search_field=1 (set to 1) enables a search functionality for looking
# up items in the list. IMPORTANT: to activate the find pane
# (search functionality) you need to press a keyboard key when the script
# is executed and the list has appeared on the screen.
# if search_field=0 no search functionality is enabled.



Офлайн

#7 Фев. 15, 2011 17:46:15

AndreyVN
От:
Зарегистрирован: 2011-02-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

Спасибо, PyFan!
Все заработало :)



Офлайн

#8 Сен. 30, 2011 09:53:45

ReaL_HarDCorE
От:
Зарегистрирован: 2011-01-19
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

Блин, столкнулся с этой же проблемой. Только selection_list не вариант, потому что мне нужно создать 2х уровневый список с иконкой. Глючит и listbox и listbox2, как в appuifw так и в appuifw2. Только nokia 5530… Неужели не решили эту проблему?



Офлайн

#9 Окт. 1, 2011 23:01:57

R.Ll.S.h57
От:
Зарегистрирован: 2010-02-25
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

S60 5th, Python for s60 2.0 и глюки ListBox'a

ReaL_HarDCorE
Неужели не решили эту проблему?
Переписать appuifw :)



Офлайн

#10 Окт. 4, 2011 10:44:41

R.Ll.S.h57
От:
Зарегистрирован: 2010-02-25
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version