Найти - Пользователи
Полная версия: appuifw2.menu и софткеи
Начало » Mobile Python » appuifw2.menu и софткеи
1
neutral
Реально ли как нибудь заменить подписи софткеев в menu? Если нет, то есть ли аналоги (кроме listbox и listbox2)?
R.Ll.S.h57
Как-то так:
appuifw2.app.exit_key_text = u"Right" # Правый софткей
appuifw2.app.menu_key_text = u"Left" # Левый софткей
neutral
Пробовал уже. Именно что когда делаешь menu.popup() это не работает.
R.Ll.S.h57
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
Левая заменяется. Правая - KErrNotFound.
R.Ll.S.h57
На правой написано “Назад” или нет?
neutral
На правой написано Cancel. Python 1.4.5 и s60v5, Nokia5800XM.
А вообще спасибо огромное за пример. Как я понял нужно вместо EAknSoftkeyBack нужное значение поставить?
R.Ll.S.h57
В функции _appuifw2.command_text() первым аргументом указываеться, тип софткея, текст которого надо заменить. Причем софткей должен быть на экране в момент вызова функции, иначе генерируеться исключение KErrNotFound.

EAknSoftkeyCancel = -1
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB