:::

6-3 Kivy

Kivy

  • Kivy 支援跨平台環境,行動裝置。畫面設計以行動裝置的概念設計,非傳統 windows 視窗模式。
雖然它可以移到 android ios 系統執行,但個人本身測試都無法順利完成。
  • 視窗 左下角座標 (0,0)
 
  pos: 0,0      #放在最左下角
  size:100,50    #使用像數大小
  pos: root.x, root.height - self.height  #計算方式放置
  • 使用比例:放在 Layout 中
size_hint : .4 , .3  #代表橫向大小佔全寬 0.4
pos_hit: {'x': 0.1 , 'top':1}  #放在左邊 0.1 ,上方在最高處
pos_hint: {'right': 0.5, 'y': 0} #水平最右方在 0.5(中間) ,垂直放在最下方 0 

 

  • 中文問題:
在windows 中會出現讀取 utf8 編碼 kv 檔錯誤轉碼的問題,要修改程式
kivy/lang/builder.py
  修改內容

 

在.kv 中可以設定字型
  • windows
 <label>:
     font_name: "mingliu.ttc"
  • linux
<Label>:
    font_name: "NotoSansCJK-Regular.ttc"
<TextInput>:
    font_name: "NotoSansCJK-Regular.ttc"

 

  • 或直接在程式中更改預設字型
from kivy.app import App

from kivy.core.text import LabelBase, DEFAULT_FONT
from kivy.resources import resource_add_path

from kivy.uix.boxlayout import BoxLayout
#要完整路徑
resource_add_path('/usr/share/fonts/opentype/noto')
LabelBase.register(DEFAULT_FONT, 'NotoSansCJK-Regular.ttc')

 

  • 指定視窗大小
from kivy.core.window import Window
Window.size = (200, 200)

Google網站翻譯工具列

站內搜尋