Нехорошо так переменные называть. По поводу прокрутки(если делаешь на канвасе), подскажу свой способ. Перерисовочная функция (redraw) отрисовывает дефолтные элементы интерфейса и определенное количество объектов (т.е. пунктов меню). Допустим все существующие пункты твоего меню храняться в виде списка в переменной класса текущего интерфейса. Тогда задаешь стартовый индекс видимости (0 например) и максимальное количество видимых пунктов. Перерисовочная функция из твоего массива со всеми пунктами берет начиная с стартового индекса количество пунктов из переменной "максимальное количество" или все остальные от стартового индекса если их меньше значения вышеуказаной переменной, и отрисовывает на бланк. Тогда к клавишам(событиям или чем ты там управляешь) просто привязываешь функцию, которая корректирует стартовый индекс видимости ( - ).
Плюсы скушал давно я здесь не писал.
Python » Страница 752
-Программирование на Python
nur87, думай). Вот, например, в твоем случае: у тебя картинка с 8 пунктами, из них 6 помещается на экран. Допустим курсор в самом верху. Передвигая его вниз, он дойдет до низа, а дальше уже надо перемещать вверх твою картинку с пунктами (target=...). Я упрощенно говорю, подумай, какие переменные надо создать. Вот уже три явных: индекс положения курсора во всем списке, макс. колич. пунктов на дисплее, индекс смещения при положении курсора более предыдущей величины. Вобщем, тут в двух словах не объяснить, ты должен сам дойти до этого.
dimy44
курсора у на таче нет.
Ksench
я не понял тебя. на деле наверное очень просто
буду отрисовывать по 6 элементов, добавлю кнопочку для отображения не вошедших элементов.
а можно ли в скрипте юзать два объекта канваса и отображать их по мере необходимости?
a=appuifw.Canvas()
b=appuifw.Canvas()
можно сколько хочешь экземпляров. Без курсора задача еще упрощается)
-------------
добавлено в 16.18: да я знаю. Я просто его случай взял, 8:6, чтоб принцип как-то объяснить, а так конечно да, не гуд.
-------------
добавлено в 16.22: хз, если вечером время будет примерчик набросаю)
-------------
добавлено в 20.21: нацарапал=))
Прикрепленный файл #1: ea5_canvas_listbox_hz.zip (1,6 Kb)
-------------
добавлено в 20.22: у меня второго питона нет, запускал в 1.4.5
-------------
добавлено в 22.41: чуть изменил
Прикрепленный файл #1: 263_canvas_listbox_hz.zip (1,91 Kb)
Вот скрипт
import socket
try:
a=socket.getaddrinfo('google.com', '80')
except Exception, er:
f=open('c:/ap.txt', 'w')
f.write(str(er))
f.close()
Скрипт дает ошибку, если запускать через e32.start_server().
Нифига не понимаю
-------------
добавлено в 10.27: может дело в капсах?
- «
- 1
- 2
- --
- 751
- 752
- 753
- --
- 974
- 975
- »