Как передать нажатие на кнопку, расположенную в виджете заполнения? - PullRequest
0 голосов
/ 20 июня 2019

Я хочу сделать экран приветствия для моего приложения TUI с текстом и одной кнопкой.После нажатия на кнопку «Ввод» на нем, это предполагает загрузку следующей страницы с меню.

Это работает нормально, но я хотел уменьшить размер кнопки с помощью обертывания Padding Widget.После того, как я добавил заполнение, когда я активировал кнопку с вводом, ничего не произошло.

Из того, что я прочитал, я должен использовать метод нажатия клавиш, чтобы передать нажатие клавиши на виджете заполнения на виджет кнопки.Как мне этого добиться?

    class OraPatcherTUI():
    def __init__(self):
        self.start_widget_list = []
        self.ok_button = urwid.Button('OK')
        self.start_widget_list.append(urwid.Text(welcome_message, 'center'))
        self.start_widget_list.append(urwid.Padding(self.ok_button,'center',('relative', 4)))
        #self.start_widget_list[1].keypress(1,'enter') --- how to use keypress?
        self.start_screen = urwid.Overlay(urwid.Pile(self.start_widget_list, 1),urwid.SolidFill(u' '),'center',('relative', 30),'middle','pack')

        urwid.connect_signal(self.ok_button, 'click', self.go_to_menu)

        self.menu = MainMenuTUI()

    def go_to_menu(self, args):
        app.start_screen.original_widget = self.menu.main_menu()

...