Я хотел бы попросить об одолжении python приложения для рабочего стола kivy, у меня небольшая проблема, но это так раздражает. проблема, с которой я сталкиваюсь - это переключение между двумя кнопками (кнопка «Да» и «нет») в киве. Всплывающее окно с клавиатурой «Клавиша вкладки» не работает, а также я хочу иметь возможность нажать клавишу «Ввод» для выбранной кнопки, обрабатывающей функцию.
вот мое всплывающее окно выглядит так:
скриншот всплывающего окна
, а код всплывающего окна выглядит следующим образом:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.popup import Popup
from kivy.uix.label import Label
class testWindow(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def yes_btn(instance):
print("this function is called.")
contents = BoxLayout(orientation='vertical')
content_text = Label(text="Lanjutkan Transaksi?")
pop_btn = BoxLayout(spacing=10)
btn_yes = Button(text='Ya', size_hint_y=None, height=40)
btn_no = Button(text='Tidak', size_hint_y=None, height=40)
pop_btn.add_widget(btn_yes)
pop_btn.add_widget(btn_no)
contents.add_widget(content_text)
contents.add_widget(pop_btn)
pop_insert = Popup(title="Confirmation Message", content=contents, size_hint=(None, None), size=(300, 300))
btn_yes.bind(on_release=yes_btn)
btn_no.bind(on_release=pop_insert.dismiss)
pop_insert.open()
class testApp(App):
def build(self):
return testWindow()
if __name__ == '__main__':
m = testApp()
m.run()
Всплывающее окно работает правильно, когда я нажимаю кнопку с помощью мыши. как показано на рисунке выше, я бы хотел, чтобы кнопка «Да» была сфокусирована, а когда я нажимаю «Enter key», всплывающее окно закрывается и запускается нужная мне функция. Между тем, чтобы переключаться между кнопками, просто нажмите «Tab».
Я пытался найти способ решения проблем, но все еще не получил результата, поэтому, пожалуйста, если кто-нибудь знает, как решить мою проблему, помогите мне.