:::
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)
6-2 EasyGui