Уведомления

Группа в Telegram: @pythonsu

#1 Март 19, 2011 14:38:46

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

appuifw2.menu и софткеи

Реально ли как нибудь заменить подписи софткеев в menu? Если нет, то есть ли аналоги (кроме listbox и listbox2)?



Офлайн

#2 Март 19, 2011 23:12:20

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

appuifw2.menu и софткеи

Как-то так:

appuifw2.app.exit_key_text = u"Right" # Правый софткей
appuifw2.app.menu_key_text = u"Left" # Левый софткей



Офлайн

#3 Март 20, 2011 08:56:43

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

appuifw2.menu и софткеи

Пробовал уже. Именно что когда делаешь menu.popup() это не работает.



Офлайн

#4 Март 20, 2011 11:50:59

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

appuifw2.menu и софткеи

import e32, appuifw2
from _appuifw2 import command_text
from appuifw2 import Menu, Item


EAknSoftkeyOk = -2
EAknSoftkeyBack = 3001


def popup_menu(menu, label1=None, label2=None):
try:
if label1 is not None:
f = lambda: command_text(EAknSoftkeyOk, label1)
e32.ao_sleep(0.1, f)
if label2 is not None:
f = lambda: command_text(EAknSoftkeyBack, label2)
e32.ao_sleep(0.1, f)
except:
pass
menu.popup()


# Проверка
menu = Menu()
menu.extend([Item(u"Item1"), Item(u"Item2")])
popup_menu(menu, u"Left", u"Right")



Отредактировано (Март 20, 2011 11:54:01)

Офлайн

#5 Март 20, 2011 16:24:36

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

appuifw2.menu и софткеи

Левая заменяется. Правая - KErrNotFound.



Офлайн

#6 Март 20, 2011 20:03:33

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

appuifw2.menu и софткеи

На правой написано “Назад” или нет?



Офлайн

#7 Март 20, 2011 20:37:00

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

appuifw2.menu и софткеи

На правой написано Cancel. Python 1.4.5 и s60v5, Nokia5800XM.
А вообще спасибо огромное за пример. Как я понял нужно вместо EAknSoftkeyBack нужное значение поставить?



Офлайн

#8 Март 20, 2011 22:09:14

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

appuifw2.menu и софткеи

В функции _appuifw2.command_text() первым аргументом указываеться, тип софткея, текст которого надо заменить. Причем софткей должен быть на экране в момент вызова функции, иначе генерируеться исключение KErrNotFound.

EAknSoftkeyCancel = -1



Отредактировано (Март 20, 2011 22:23:16)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version