- Kivy 教程
- Kivy - 首頁
- Kivy 基礎
- Kivy - 入門
- Kivy - 安裝
- Kivy - 架構
- Kivy - 檔案語法
- Kivy - 應用
- Kivy - Hello World
- Kivy - 應用生命週期
- Kivy - 事件
- Kivy - 屬性
- Kivy - 輸入
- Kivy - 行為
- Kivy 按鈕
- Kivy - 按鈕
- Kivy - 按鈕事件
- Kivy - 按鈕顏色
- Kivy - 按鈕大小
- Kivy - 按鈕位置
- Kivy - 圓形按鈕
- Kivy - 停用按鈕
- Kivy - 圖片按鈕
- Kivy 元件
- Kivy - 元件
- Kivy - 標籤
- Kivy - 文字輸入
- Kivy - 畫布
- Kivy - 直線
- Kivy - 複選框
- Kivy - 下拉列表
- Kivy - 視窗
- Kivy - 滾動檢視
- Kivy - 走馬燈
- Kivy - 滑塊
- Kivy - 圖片
- Kivy - 彈出視窗
- Kivy - 開關
- Kivy - 微調器
- Kivy - 分隔器
- Kivy - 進度條
- Kivy - 氣泡
- Kivy - 標籤頁面板
- Kivy - 散點圖
- Kivy - 手風琴
- Kivy - 檔案選擇器
- Kivy - 顏色拾取器
- Kivy - 程式碼輸入
- Kivy - 模態檢視
- Kivy - 切換按鈕
- Kivy - 相機
- Kivy - 樹檢視
- Kivy - reStructuredText
- Kivy - 動作欄
- Kivy - 播放器
- Kivy - 模板檢視
- Kivy - 虛擬鍵盤
- Kivy - 觸控漣漪
- Kivy - 音訊
- Kivy - 影片
- Kivy - 拼寫檢查
- Kivy - 效果
- Kivy - 輸入記錄器
- Kivy - OpenGL
- Kivy - 文字
- Kivy - 文字標記
- Kivy - 設定
- Kivy 佈局
- Kivy - 佈局
- Kivy - 浮動佈局
- Kivy - 網格佈局
- Kivy - 箱式佈局
- Kivy - 堆疊佈局
- Kivy - 錨點佈局
- Kivy - 相對佈局
- Kivy - 頁面佈局
- Kivy - 列表迴圈佈局
- Kivy - 佈局巢狀
- Kivy 高階概念
- Kivy - 配置物件
- Kivy - 圖集
- Kivy - 資料載入器
- Kivy - 快取管理器
- Kivy - 控制檯
- Kivy - 動畫
- Kivy - 多筆劃
- Kivy - 時鐘
- Kivy - SVG
- Kivy - UrlRequest
- Kivy - 剪貼簿
- Kivy - 工廠
- Kivy - 手勢
- Kivy - 語言
- Kivy - 圖形
- Kivy - 繪圖
- Kivy - 打包
- Kivy - Garden
- Kivy - 儲存
- Kivy - 向量
- Kivy - 工具庫
- Kivy - 檢查器
- Kivy - 工具
- Kivy - 日誌記錄器
- Kivy - 幀緩衝區
- Kivy 應用和專案
- Kivy - 繪圖應用
- Kivy - 計算器應用
- Kivy - 計時器應用
- Kivy - 相機處理
- Kivy - 圖片檢視器
- Kivy - 貝塞爾曲線
- Kivy - 畫布壓力測試
- Kivy - 圓形繪製
- Kivy - 元件動畫
- Kivy - 其他
- Kivy 有用資源
- Kivy - 快速指南
- Kivy - 有用資源
- Kivy - 討論
Kivy - 工具庫
Kivy 庫中的“kivy.utils”模組是各種類別(例如數學、顏色、代數函式等)中通用實用函式的集合。
QueryDict
QueryDict 類的物件類似於 Python 的內建 dict 類。此外,它還提供了一種使用點(.)運算子查詢物件的方法。
要構造 QueryDict,您可以傳遞一個包含兩個元素的元組列表,也可以傳遞一個 dict 物件本身。
# list of tuples
qd = QueryDict([('a',1), ('b',2)])
print (qd)
列表的每個元組元素都應包含兩個專案。第一個專案是鍵,第二個專案是其值。
{'a': 1, 'b': 2}
另一方面,您可以將 dict 物件本身傳遞給 QueryDict 建構函式。
qd=QueryDict({'a':1, 'b':2})
雖然可以使用標準 dict 中定義的 [] 運算子獲取屬於特定鍵的值,但 QueryDict 提供了一個點運算子。因此,“qd.k”與“qd['k']”相同。請注意,dict 類的 get() 方法也可以與 QueryDict 一起使用。
您可以使用傳統的切片運算子賦值或點運算子更新鍵的值。
qd.a=100 qd['b']=200
請嘗試下面的示例:
from kivy.utils import *
# list of tuples
qd=QueryDict([('a',1), ('b',2)])
print (qd)
print (qd.a, qd['a'])
qd=QueryDict({'a':1, 'b':2})
print (qd)
print (qd.b, qd['b'])
print (qd.get('a'))
qd.a=100
qd['b']=200
print (qd)
SafeList
Kivy 中的 SafeList 類繼承了內建的 list 類。除了從 list 繼承的方法外,SafeList 類中還定義了一個新方法 - clear()。它刪除列表中的所有專案。
您可以將可變序列(列表)傳遞給建構函式以建立 SafeList 物件。如果未傳遞任何引數,則它將建立一個空列表。呼叫 clear() 方法將刪除所有專案。
示例
from kivy.utils import *
sl = SafeList([1,2,3,4])
print ("SafeList:",sl)
l = [1,2,3,4]
sl = SafeList(l)
print ("SafeList:",sl)
sl.clear()
print ("SafeList:",sl)
輸出
SafeList: [1, 2, 3, 4] SafeList: [1, 2, 3, 4] SafeList: []
difference()
此函式返回兩個列表之間的差值。更具體地說,它從第一個列表中刪除在第二個列表中找到的那些專案。
示例
from kivy.utils import *
l1=[1,2,3,4]
l2=[3,4,5,6]
print (l1, l2)
print ("l1-l2:",difference(l1,l2))
print ("l2-l1:",difference(l2,l1))
輸出
[1, 2, 3, 4] [3, 4, 5, 6] l1-l2: [1, 2] l2-l1: [5, 6]
escape_markup()
Kivy 應用視窗上的標籤能夠顯示標記文字。但是,如果您希望標記符號的效果不起作用,則可以轉義文字中找到的標記字元。這旨在用於在標籤上啟用標記文字時使用。
在下面的示例中,要在標籤上顯示的文字包含 [b] 和 [/b] 標記標籤,這會將測試轉換為粗體。但是,要忽略此效果,文字將傳遞給 escape_markup() 函式。
示例
from kivy.app import App
from kivy.uix.label import Label
from kivy.utils import escape_markup
from kivy.core.window import Window
Window.size = (720,400)
class HelloApp(App):
def build(self):
text = 'This is an [b]important[/b] message'
text = '[color=ff0000]' + escape_markup(text) + '[/color]'
lbl=Label(text=text, font_size=40, markup=True)
return lbl
HelloApp().run()
輸出
get_color_from_hex()
將十六進位制字串顏色轉換為 kivy 顏色。顏色屬性的 RGBA 值介於 0 到 1 之間。由於 RGB 值範圍為 0 到 255,因此 Kivy 顏色值將數字除以 255。因此,RGB 值 50、100、200 分別表示為 50/255、100/255 和 200/255。
十六進位制顏色值以字串形式給出,每個 RGB 值包含 2 個十六進位制數字,並以“#”符號為字首。get_color_from_hex() 函式將十六進位制字串轉換為 Kivy 顏色值。
示例
from kivy.utils import *
c = get_color_from_hex("#00ff00")
print (c)
輸出
[0.0, 1.0, 0.0, 1.0]
get_hex_from_color(color)
將 kivy 顏色轉換為十六進位制值:
示例
from kivy.utils import * c = get_hex_from_color([0,1,0,1]) print (c)
輸出
#00ff00ff
rgba()
從十六進位制字串或 0-255 值列表返回 Kivy 顏色(0-1 範圍內的 4 個值)。
示例
from kivy.utils import *
# from RGBA color values
c = rgba([100,150,200, 255])
print ("from RGBA:",c)
# from hex string
c = rgba('#3fc4e57f')
print ("from hex string:",c)
輸出
from RGBA: [0.39215686274509803, 0.5882352941176471, 0.7843137254901961, 1.0] from hex string: [0.24705882352941178, 0.7686274509803922, 0.8980392156862745, 0.4980392156862745]