Рубрики

Python | Скаттер в киве

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

рассеивать

Scatter используется для создания интерактивных виджетов, которые могут быть переведены, повернуты и масштабированы двумя или более пальцами в мультитач-системе.

Он содержит свои собственные матричные преобразования. Класс Scatter позволяет пользователю перетаскивать, масштабировать и вращать любой виджет, который находится под его контролем.

Как и в Relativelayout, дети располагаются относительно разброса.
Таким образом, при перетаскивании разброса положение детей не меняется, меняется только положение разброса.

Размер разброса не влияет на размер его дочерних элементов. Если вы хотите изменить его размер, вы можете использовать шкалу, которая преобразует как разброс, так и его дочерние элементы, но не меняет размер.

Basic Approach:
1) import kivy
2) import kivyApp
3) import scatter
4) import Relativelayout
5) import widget
6) Set minimum version(optional)
7) create Widget class
8) create layout class
9) create App class
10) create the, kv file
11) return Layout/widget/Class(according to requirement)
12) Run an instance of the class

To use scatter you must first have to import it by command:
from kivy.uix.scatter import Scatter

# Реализация подхода:

.py файл

# Программа для объяснения как использовать Scatter в киве

       
# импорт кивый модуль

import kivy   

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

from kivy.app import App  

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

kivy.require('1.9.0')  

  
# Scatter используется для построения интерактивных
# виджеты, которые можно перевести,
# повернуто и масштабировано с двумя или
# больше пальцев в мультитач-системе.

from kivy.uix.scatter import Scatter

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

from kivy.uix.widget import Widget

  
# Этот макет позволяет вам установить относительные координаты для детей.

from kivy.uix.relativelayout import RelativeLayout

  

  
# Создание класса виджетов

class SquareWidget(Widget):

    pass

  
# Создание Scatter Class

class ScatterWidget(Scatter):

    pass

  
# Создать класс макета

class Scatter_App(RelativeLayout):

    pass

            

class ScatterApp(App):

    def build(self):

        return Scatter_App()

  

if __name__=='__main__':

    ScatterApp().run()

файл .kv

# .kv реализация файла

  
# Создайте квадрат, чтобы показать разброс
<SquareWidget>:

    size: 100, 100

    canvas:

        Color:

            rgb: [0.345, 0.85, 0.456]

        Rectangle:

            size: self.size

            pos: self.pos

  

  
# Создать свойства разброса
<Scatter_App>:

      

    canvas:

        Color:

            rgb: .8, .5, .4

        Rectangle:

            size: self.size

            pos: self.pos

  

    ScatterWidget:

        id: square_widget_id

        SquareWidget:

  

    # Отображение текущей позиции окна

    Label:

        text: 'Position: ' + str(square_widget_id.pos)

        size_hint: .1, .1

        pos: 500, 300

Выход:

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

Python | Скаттер в киве

0.00 (0%) 0 votes