Рубрики

Python | Выпадающий список в кивах с использованием файла .kv

Kivy — это независимый от платформы инструмент GUI в Python. Так как он может быть запущен на Android, IOS, Linux, Windows и т. Д. Он в основном используется для разработки приложения Android, но это не означает, что его нельзя использовать в приложениях для настольных ПК.

Раскрывающийся список

Выпадающий список можно использовать с пользовательскими виджетами. Позволяет отображать список виджетов под отображаемым виджетом. В отличие от других наборов инструментов, список виджетов может содержать виджеты любого типа: простые кнопки, изображения и т. Д.
Расположение раскрывающегося списка полностью автоматическое: мы всегда будем стараться размещать раскрывающийся список таким образом, чтобы пользователь мог выбрать элемент в списке.

To work with this widget you must have to import:
from kivy.uix.dropdown import DropDown

Basic Approach:
1) import kivy
2) import kivyApp
3) import dropdown
4) import Floatlayout(according to need)
5) Set minimum version(optional)
6) Create Layout class
7) Create App class
9) create .kv file (name same as the app class):
        1) create Dropdown
        2) create callback
        3) And many more styling as needed
10) return Layout/widget/Class(according to requirement)
11) Run an instance of the class

# .py файл

«»»
Код Как использовать выпадающий список с файлом .kv
«»»

   
# Программа, чтобы показать, как создать переключатель
# импорт кивый модуль

import kivy  

       
# Базовый класс вашего приложения наследуется от класса приложения.
# app: всегда ссылается на экземпляр вашего приложения

from kivy.app import App 

     
# это ограничивает kivy версию т.е.
# ниже этой версии вы не можете
# использовать приложение или программное обеспечение

kivy.require('1.9.0'

    
# раскрывающееся меню представляет собой список элементов, которые
# появляются всякий раз, когда фрагмент текста или
Кнопка # нажата.
# Чтобы использовать выпадающий список, вы должны импортировать его

from kivy.uix.dropdown  import DropDown

    
# модуль состоит из floatlayout
# сначала работать с FloatLayout
# вы должны импортировать его

from kivy.uix.floatlayout import FloatLayout

  
# Кнопка - это Метка со связанными действиями, которые
# срабатывают при нажатии кнопки (
# или выпущен после нажатия / касания).

from kivy. uix . button  import Button

  

class CustomDropDown(DropDown):

    pass

   

   

class DropdownDemo(FloatLayout):

    '' 'Код самого приложения.' '' 

    def __init__(self, **kwargs):

          

        '' 'Здесь создается кнопка при открытии окна,

        не в кв

        «»» 

        super(DropdownDemo, self).__init__(**kwargs)

        self.dropdown = CustomDropDown()

  

        # Создание бутонного виджета

        self.mainbutton = Button(text ='Do you in college?',

                                 size_hint_x = 0.6, size_hint_y = 0.15)

          

        # Добавлена кнопка в FloatLayout, поэтому наследует этот класс

        self.add_widget(self.mainbutton)

  

        # Добавление действий

        # Если нажать

        self.mainbutton.bind(on_release = self.dropdown.open)

  

        # root.select on_select вызываемый

        self.dropdown.bind(on_select = lambda\

                           instance, x: setattr(self.mainbutton, 'text', x))

        self.dropdown.bind(on_select = self.callback)

   

    def callback(self, instance, x):

        '' 'x is self.mainbutton.text обновлен' '' 

        print ( "The chosen mode is: {0}" . format ( x ) )

   

   

class MainApp(App):

    '' 'Функция сборки возвращает root,

    здесь root = DropdownDemo ().

    root может быть вызван только в файле kv.

    «»» 

    def build(self):

        return DropdownDemo()

   

   

if __name__ == '__main__':

      

    MainApp().run()

Файл .kv:

<CustomDropDown>:

    Button:

        text: 'College Name'

        size_hint_y: None

        height: 44

        on_release: root.select('College is')

    Label:

        text: 'Not in college'

        size_hint_y: None

        height: 44

    Button:

        text: 'KccItm'

        size_hint_y: None

        height: 44

        on_release: root.select('Kcc')

Выход:

Рекомендуемые посты:

Python | Выпадающий список в кивах с использованием файла .kv

0.00 (0%) 0 votes