neutral
Март 19, 2011 14:38:46
Реально ли как нибудь заменить подписи софткеев в menu? Если нет, то есть ли аналоги (кроме listbox и listbox2)?
R.Ll.S.h57
Март 19, 2011 23:12:20
Как-то так:
appuifw2.app.exit_key_text = u"Right" # Правый софткей
appuifw2.app.menu_key_text = u"Left" # Левый софткей
neutral
Март 20, 2011 08:56:43
Пробовал уже. Именно что когда делаешь menu.popup() это не работает.
R.Ll.S.h57
Март 20, 2011 11:50:59
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")
neutral
Март 20, 2011 16:24:36
Левая заменяется. Правая - KErrNotFound.
R.Ll.S.h57
Март 20, 2011 20:03:33
На правой написано “Назад” или нет?
neutral
Март 20, 2011 20:37:00
На правой написано Cancel. Python 1.4.5 и s60v5, Nokia5800XM.
А вообще спасибо огромное за пример. Как я понял нужно вместо EAknSoftkeyBack нужное значение поставить?
R.Ll.S.h57
Март 20, 2011 22:09:14
В функции _appuifw2.command_text() первым аргументом указываеться, тип софткея, текст которого надо заменить. Причем софткей должен быть на экране в момент вызова функции, иначе генерируеться исключение KErrNotFound.
EAknSoftkeyCancel = -1