کیوی (چارچوب)

کیوی یک کتابخانهٔ آزاد و متن باز از زبان برنامه‌نویسی پایتون است که برای توسعهٔ نرم‌افزارهای چند لمسی با رابط کاربری زیبا توزیع شده است. کیوی می‌تواند روی لینوکس، مک، ویندوز، اندروید، آی‌اواس و Raspberry Pi اجرا شود. کیوی تحت MIT license ارائه شده، رایگان و کد باز است.

کیوی فریمورک اصلی توسعه داده شده توسط بنیاد کیوی است، در کنار پایتون برای اندروید، کیوی آی‌اواس، و کتابخانه‌های بسیار دیگری که برای استفادهٔ کراس پلتفورم ساخته شدند. در سال ۲۰۱۲ میلادی، کیوی ۵۰۰۰ دلار از بنیاد پایتون دریافت کرد برای انتقال به نسخه ۳ پایتون. کیوی همچنین از رزبری پای (Raspberry pi) نیز پشتیبانی می‌کند.

فریم کاری شامل تمام امکانات برای ساخت این گونه نرم‌افزارها است:
 پشتیبانی کامل از ورودی‌های موس، کیبورد و ورودی‌های لمسی مخصوص سیستم عامل
 کتابخانهٔ گرافیک فقط شامل اوپن جی ال
 ابزارک‌های گرافیکی بسیار گسترده که از تکنولوژی چند لمسی پشتیبانی می‌کنند
 زبان برنامه‌نویسی اختصاصی Kv که برای راحتی در توسعهٔ محیط کاربری طراحی شده‌است

کیوی ارتقا یافتهٔ PyMT project است و برای پروژه‌های جدید پیشنهاد می‌شود.

نمونه کد 

یک نمونه کد برنامه «سلام دنیا» فقط با یک دکمه:

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')

TestApp().run()

زبان Kv 
زبان کی‌وی (Kv) یک زبان مرتبط با محیط کاربری است. مانند کیو-ام-ال، به راحتی می‌توان تمام رابط کاربری را در آن ایجاد کرد. برای مثال برای ساختن یک پنجره که شامل یک مرورگر فایل و کلید لغو/تایید باشد، می‌توان ابزارک اصلی را در پایتون ساخت و محیط کاربری را در Kv برنامه‌نویسی کرد.

در فایل main.py:
class LoadDialog(FloatLayout):
    def load(self, filename): pass
    def cancel(self): pass

و در فایل Kv که همنام با کلاس اصلی فایل main.py و با پسوند *.kv نوشته می‌شود:
#: kivy 1.4.0
<LoadDialog>:
    BoxLayout:
        size: root.size
        pos: root.pos
        orientation: "vertical"
        FileChooserListView:
            id: filechooser

        BoxLayout:
            size_hint_y: None
            height: 30
            Button:
                text: "Cancel"
                on_release: root.cancel()

            Button:
                text: "Load"
                on_release: root.load(filechooser.path, filechooser.selection)

منابع

پیوند به بیرون 
 

کتابخانه‌های پایتون
مقاله‌های ایجاد شده توسط ایجادگر
نرم‌افزارهای آزاد نوشته‌شده با پایتون
نرم‌افزارهای چندسکویی
نرم‌افزارهای دارای اجازه‌نامه ام‌آی‌تی