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

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

کیوی فریمورک اصلی توسعه داده شده توسط بنیاد کیوی است، در کنار پایتون برای اندروید، کیوی آی‌اواس، و کتابخانه‌های بسیار دیگری که برای استفادهٔ کراس پلتفورم ساخته شدند. در سال ۲۰۱۲ میلادی، کیوی ۵۰۰۰ دلار از بنیاد پایتون دریافت کرد برای انتقال به نسخه ۳ پایتون. کیوی همچنین از رزبری پای (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)

 منابع 

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


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