#python #kivy #kivymd
Вопрос:
Я новичок в kivy/kivymd и пытаюсь создать выпадающее меню с помощью документации по kivymd. Однако всякий раз, когда я нажимаю на раскрывающийся список, он возвращает мне эту ошибку: app.dropdown.open(self) Ошибка типа: open() принимает 1 позиционный аргумент, но было дано 2
from kivy.properties import ObjectProperty
from kivymd.uix.menu import MDDropdownMenu
from kivymd.app import MDApp
import win32api
drives = win32api.GetLogicalDriveStrings()
drives = drives.split('00')[:-1]
class YouTubeDownloader(MDApp):
dropdown = ObjectProperty()
def on_start(self):
self.dropdown = MDDropdownMenu()
for i in drives:
self.dropdown.items.append(
{"viewclass":"MDMenuItem",
"text":str(i),
"callback": self.menu_callback
}
) def menu_callback(self, text_item):
print(text_item)
YouTubeDownloader().run()
Файл KV
BoxLayout:
orientation:"vertical"
MDToolbar:
title:"YouTube Downloader"
md_bg_color: app.theme_cls.primary_color
BoxLayout:
orientation:"vertical"
MDTextField:
hint_text: "Enter the URL here"
size_hint: 0.4,0.15
pos_hint:{"center_x":0.5,"center_y":0.5}
MDRaisedButton:
id: dropdown
text: "Select Path"
pos_hint:{"center_x":0.5}
on_release:
app.dropdown.open(self)
GridLayout:
cols:3
AsyncImage:
id: image
source: "https://i.ytimg.com/vi/LRXo0juuTrw/maxresdefault.jpg"
AsyncImage:
source: "https://i.ytimg.com/vi/LRXo0juuTrw/maxresdefault.jpg"
AsyncImage:
source: "https://i.ytimg.com/vi/LRXo0juuTrw/maxresdefault.jpg"
AsyncImage:
source: "https://i.ytimg.com/vi/LRXo0juuTrw/maxresdefault.jpg"
MDRaisedButton:
text:"Download"
pos_hint:{"center_x":0.5}
при запуске этого кода я получаю сообщение об ошибке
app.dropdown.open(self)
TypeError: open() takes 1 positional argument but 2 were given
кто-нибудь может помочь??
Ответ №1:
Изменить
app.dropdown.open(self)
Автор::
app.dropdown.open()