0
Когда это выпадающее меню сделано в Kivy, если размер окна увеличивается, затем снова уменьшается, меню перестает работать. Это какая-то ошибка?Kivy drop down bug
from kivy.app import App
from kivy.uix.spinner import Spinner, SpinnerOption
from kivy.base import runTouchApp
from kivy.uix.gridlayout import GridLayout
from kivy.lang import Builder
from kivy.uix.popup import Popup
from kivy.uix.button import Button
from kivy.uix.dropdown import DropDown
Builder.load_string('''
<Janela1>:
size_hint: .4, .4
auto_dismiss: True
title: 'HAAAAAAAAAAAAAAAAa'
Button:
text: 'Click me to dismiss'
on_press: root.dismiss()
''')
class Tela(GridLayout):
pass
class Janela1(Popup):
pass
class programa(App):
def build(self):
dropdown=DropDown()
raiz = Tela(cols=4, row_force_default=True, row_default_height=40) #declarando o fundo
btn = Button(text='Valor 1', size_hint_y=None, height=44)
btn.bind(on_release=self.show_popup)
btn.bind(on_release=lambda btn: dropdown.select(btn.text))
dropdown.add_widget(btn)
i = 0
for lista in range(4):
lista=['Intervalos','Ritmo','Identificacao dos Modos','Acordes']
mainbutton = Button(text='%s' % lista[i], size_hint_y=None, height=44)
i += 1
mainbutton.bind(on_release=dropdown.open)
mainbutton.bind(on_select=lambda instance, x: setattr(mainbutton, 'text', x))
raiz.add_widget(mainbutton)
return raiz
def show_popup(self, raiz):
p = Janela1()
p.open()
if __name__ == '__main__':
programa().run()
Я запустил этот код, и он не сломался для меня. Какую ОС вы используете? Я тестировал Ubuntu linux. – Lobsterman
Windows 7 (64) D: –