婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python基于Kivy寫一個圖形桌面時鐘程序

python基于Kivy寫一個圖形桌面時鐘程序

熱門標簽:江門智能電話機器人 智能電話機器人調(diào)研 甘肅高頻外呼系統(tǒng) 400電話在線如何申請 杭州房產(chǎn)地圖標注 天津塘沽區(qū)地圖標注 如何申請400電話代理 滴滴地圖標注公司 地圖標注可以遠程操作嗎

Kivy 是一個開源的 Python 第三方庫,可以用來快速開發(fā)應(yīng)用程序。

它有如下三個特點:

  • 跨平臺

Kivy 編寫的程序可在 Linux,Windows,OS X,Android,iOS 和 Raspberry Pi 上運行。

  • 商業(yè)友好

Kivy 基于 MIT 許可證進行開源,可以進行免費的商業(yè)使用。

  • GPU 加速

Kivy 的圖像引擎基于 Open ES 2 構(gòu)建,性能出眾。

除此之外 Kivy 也存在一些缺點,比如:

  • 非原生的圖形界面;
  • 打包后的體積很大;
  • 缺乏社區(qū)支持;
  • 缺乏足夠的示例文檔;
  • 對中文的支持很差;

盡管 Kivy 有這樣的缺點,但也不失為一個優(yōu)秀的 Python 圖形界面開發(fā)庫。尤其是其能夠?qū)?yīng)用程序打包為移動設(shè)備(IOS 和安卓)可用的 APP,可以說極大地擴展了 Python 開發(fā)的邊界。

本篇文章,我們用 Kivy 寫一個桌面時鐘程序,來體驗一下 Kivy 的圖形界面開發(fā)。其最終效果如下圖所示:

本文所述程序的代碼結(jié)構(gòu)如下圖所示:

其中:

  • /font文件夾用于放置中文字體文件。在其中,我們放置了思源黑體作為圖形的中文顯示字體。
  • /imgs文件夾用于放置靜態(tài)圖片文件,在其中,我們放置了兩個方向指示圖片。
  • /kv文件夾用于存放 Kivy 界面的設(shè)計模板。
  • main.kv是主程序的界面設(shè)計模板。
  • main.py是主程序的 Python 代碼。

使用 kv 構(gòu)建界面

Kivy 提供了一種簡單且可擴展的 GUI 設(shè)計語言用來專門設(shè)計對 Kivy 的圖形界面進行設(shè)計。我們可以在.kv文件中設(shè)計好程序的圖形界面,然后在.py文件中對圖像界面進行交互控制。

在本程序中,我們一共有 3 個地方使用了 Kivy 的設(shè)計語言,它們分別是:

  • 時鐘屏幕:clockscreen.kv
  • 秒表屏幕:stopwatchscreen.kv
  • 主界面:main.kv

在時鐘屏幕中,我們按照如下方式定義構(gòu)建了一個界面:

在秒表屏幕中,我們按照如下方式定義構(gòu)建了一個界面:

最后在主界面中,引入這兩個屏幕,通過布局管理器,將其放置在了主界面中:

編寫主程序代碼

在通過 Kivy 的kv設(shè)計語言構(gòu)建好了程序界面之后,我們來編寫主程序的 Python 代碼。

首先,引入所需的模塊:

from kivy.app import App
from kivy.uix.screenmanager import Screen,SlideTransition
from kivy.core.text import LabelBase
from kivy.uix.button import ButtonBehavior
from kivy.uix.image import Image
from kivy.clock import Clock
import time

接著,配置一下中文字體。因為 Kivy 的先天缺陷,其對中文的支持很差勁,默認情況下,中文都會顯示成一個個豆腐塊,只能通過引入中文字體來解決:

LabelBase.register(
 name='SiyuanHeiti',
 fn_regular='./font/SourceHanSansCN-Normal.ttf'
)

然后,我們創(chuàng)建 3 個在kv文件中定義的小部件:

# 圖像按鈕
class ImageButton(ButtonBehavior,Image):
 pass

# 秒表屏幕
class StopwatchScreen(Screen):
 pass

# 時鐘屏幕
class ClockScreen(Screen):
 pass
創(chuàng)建一個名為MainApp()的類,這是程序的主類。我們把各種交互控制的方法寫在這里面:

class MainApp(App):
 sw_started = False # 秒表啟動狀態(tài)
 sw_seconds = 0 # 當(dāng)前秒表秒數(shù)

 def update(self,n):
 # 如果秒表已啟動,更新當(dāng)前秒數(shù)
 if self.sw_started:
  self.sw_seconds += n

 # 更新當(dāng)前時間
 self.root.ids['clock_screen'].ids['time'].text = time.strftime("[b]%H[/b]:%M:%S")
 # 更新秒表
 m,s = divmod(self.sw_seconds,60) # 返回一個包含商和余數(shù)的元組
 self.root.ids['stopwatch_screen'].ids['stopwatch'].text = ("%02d: %02d.[size=40]%02d[/size]" % (int(m),int(s),int(s*100%100)))

 # 重寫程序啟動的事件
 def on_start(self):
 Clock.schedule_interval(self.update,0)

 # 開始/停止
 def start_stop(self):
 self.root.ids['stopwatch_screen'].ids['start_stop'].text = '啟動' if self.sw_started else '停止'
 self.sw_started = not self.sw_started

 # 重置秒表
 def reset(self):
 if self.sw_started:
  self.root.ids['stopwatch_screen'].ids['start_stop'].text = '啟動'
  self.sw_started = False
 self.sw_seconds = 0

 def go_forward(self):
 screen_manager = self.root.ids['screen_manager']
 screen_manager.transition = SlideTransition(direction="right")
 screen_manager.current = "stopwatch_screen"

 def go_back(self):
 screen_manager = self.root.ids['screen_manager']
 screen_manager.transition = SlideTransition(direction="left")
 screen_manager.current = "clock_screen"

這樣,這個程序就完成了。我們實例化MainApp()并調(diào)用其run()方法即可運行。

if __name__ == '__main__':
 app = MainApp()
 app.run()

小結(jié)

總體而言,使用 Kivy 編寫圖形界面程序和使用其他 Python 圖像界面庫相比,沒有多大的區(qū)別。其通過kv設(shè)計語言,很大程序上把圖形程序的界面和交互分離開來,使得程序的開發(fā)比較清晰。

如果需要使用 Kivy 開發(fā)出精美且功能強大的圖形界面,還是得深入熟悉和了解 Kivy 的各類組件。

以上就是python基于Kivy 寫一個圖形桌面時鐘程序的詳細內(nèi)容,更多關(guān)于python Kivy 寫一個桌面時鐘程序的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python實現(xiàn)模擬時鐘代碼推薦
  • Python實現(xiàn)時鐘顯示效果思路詳解
  • python使用turtle庫繪制時鐘
  • python實現(xiàn)簡易動態(tài)時鐘
  • python實現(xiàn)簡易數(shù)碼時鐘
  • python控制臺顯示時鐘的示例
  • Python Tkinter模塊實現(xiàn)時鐘功能應(yīng)用示例
  • python+PyQT實現(xiàn)系統(tǒng)桌面時鐘
  • Python+Pyqt實現(xiàn)簡單GUI電子時鐘
  • Python使用Pygame實現(xiàn)時鐘效果

標簽:東莞 臨汾 重慶 德宏 長春 漢中 廊坊 河池

巨人網(wǎng)絡(luò)通訊聲明:本文標題《python基于Kivy寫一個圖形桌面時鐘程序》,本文關(guān)鍵詞  python,基于,Kivy,寫,一個,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python基于Kivy寫一個圖形桌面時鐘程序》相關(guān)的同類信息!
  • 本頁收集關(guān)于python基于Kivy寫一個圖形桌面時鐘程序的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    天堂久久一区二区三区| 国产精品理论在线观看| 国产揄拍国内精品对白| 天天做天天摸天天爽国产一区 | 国产白丝网站精品污在线入口| 亚洲综合一二区| 亚洲国产人成综合网站| 亚洲午夜视频在线| 成人综合在线观看| av在线播放不卡| 99视频精品全部免费在线| 精品国产乱码久久久久久久| 日韩美女主播在线视频一区二区三区 | aaa亚洲精品一二三区| 26uuuu精品一区二区| 国产视频一区二区在线观看| 国产蜜臀97一区二区三区| 中文字幕乱码久久午夜不卡| 亚洲免费观看在线观看| 亚洲成av人综合在线观看| 久久精品国产色蜜蜜麻豆| 国产一区二区三区最好精华液| 欧美一区二区三区四区视频| 精品动漫一区二区三区在线观看| 午夜私人影院久久久久| 欧美日韩黄色影视| 日韩三级精品电影久久久| 国产精品蜜臀av| 午夜精品久久久久久久久久| 欧美日韩国产123区| 天涯成人国产亚洲精品一区av| 在线观看av不卡| 欧美不卡一区二区| 一区二区三区在线视频观看| 九色|91porny| 91行情网站电视在线观看高清版| 91精品国产免费| 久久se精品一区二区| 精品久久久久久久久久久久包黑料 | 日韩一区二区三区在线视频| 免费成人在线视频观看| 91小视频免费看| 欧美一区二区三区免费在线看 | 波多野结衣中文字幕一区二区三区| 欧美日韩精品一区二区在线播放| 亚洲一区影音先锋| 日韩一级欧美一级| 国产剧情在线观看一区二区| 欧美丝袜丝nylons| 国产精品成人在线观看| 91成人在线观看喷潮| 蜜臀91精品一区二区三区| 在线日韩国产精品| 免费成人性网站| 国产亚洲精久久久久久| 一本久久精品一区二区| 亚洲欧洲av一区二区三区久久| 国模一区二区三区白浆| 日韩一区二区三区视频在线观看| 国产一区二区在线影院| 一二三四区精品视频| 欧美一区二区三区啪啪| 成人sese在线| 日韩高清一区在线| 欧美精品黑人性xxxx| 亚洲精品欧美二区三区中文字幕| www.日韩在线| 免费在线观看视频一区| 国产精品美女视频| 欧美一区二区视频在线观看 | 在线播放国产精品二区一二区四区| 2020国产精品自拍| 欧美四级电影网| 国产黑丝在线一区二区三区| 国产喷白浆一区二区三区| 在线亚洲免费视频| 成人在线视频一区| 岛国一区二区在线观看| 亚洲精品免费一二三区| 国产亚洲一区字幕| 欧美一区二区私人影院日本| 色欧美乱欧美15图片| 国产一区二区视频在线| 日本视频一区二区| 亚洲精品高清在线| 中文一区一区三区高中清不卡| 日韩欧美中文字幕公布| 精品视频在线免费看| 亚洲一区二区在线观看视频| 国产精品丝袜久久久久久app| 欧美一区二区三区四区五区| 在线中文字幕一区二区| 99精品久久免费看蜜臀剧情介绍| 一区二区在线免费| 久久精品日韩一区二区三区| 日韩精品影音先锋| 88在线观看91蜜桃国自产| 欧美性受xxxx黑人xyx性爽| 99久久精品免费看| 国产69精品久久久久毛片| 国产精品自拍一区| 国产精品正在播放| 国产精品一二二区| 国产成人超碰人人澡人人澡| 精品在线你懂的| 经典三级一区二区| 狠狠色伊人亚洲综合成人| 美女高潮久久久| 经典三级一区二区| 国产毛片精品视频| 成人网男人的天堂| 97国产一区二区| 91精品福利在线| 精品视频在线免费观看| 91精品国产高清一区二区三区蜜臀| 欧美老年两性高潮| 日韩欧美国产一区二区在线播放 | 风流少妇一区二区| 成人丝袜高跟foot| 色婷婷综合久久久中文字幕| 欧美日韩精品一二三区| 91精品国产高清一区二区三区| 日韩三级在线观看| 久久免费电影网| 正在播放亚洲一区| 精品国产伦一区二区三区免费| 久久精品欧美一区二区三区不卡| 国产精品久久久一本精品| 亚洲靠逼com| 毛片av一区二区| 国产99久久久国产精品免费看| 成人app在线| 欧美日韩久久久一区| 久久影院视频免费| 亚洲私人黄色宅男| 国产精品不卡一区| 亚洲福利电影网| 国产一区二区精品久久99| 91伊人久久大香线蕉| 欧美精品 日韩| 国产精品情趣视频| 午夜精品久久久| 国产成人亚洲综合色影视| 欧美性生活久久| 久久久不卡影院| 亚洲123区在线观看| 国产99久久久精品| 91精品国产一区二区三区香蕉| 久久久欧美精品sm网站| 亚洲免费观看高清在线观看| 麻豆91精品91久久久的内涵| 不卡的电影网站| 日韩欧美不卡一区| 有码一区二区三区| 国产盗摄女厕一区二区三区 | 91亚洲精品乱码久久久久久蜜桃| 欧美精品三级在线观看| 国产精品免费av| 国内精品免费**视频| 欧美色爱综合网| 国产精品久久免费看| 蜜臀91精品一区二区三区| 日本乱码高清不卡字幕| 国产午夜精品久久久久久免费视| 视频一区二区中文字幕| 91在线观看视频| 国产精品视频你懂的| 激情六月婷婷久久| 91精品国产欧美一区二区| 一区二区不卡在线视频 午夜欧美不卡在| 国产一区二区三区免费播放 | 欧美日韩黄色一区二区| 亚洲欧洲另类国产综合| 国产成人免费视频| 精品国内二区三区| 美女一区二区视频| 91精品婷婷国产综合久久| 亚洲精品成人天堂一二三| 97精品国产露脸对白| 国产精品无人区| 成人做爰69片免费看网站| 精品国产电影一区二区| 日本不卡视频一二三区| 欧美视频精品在线| 亚洲一区二区三区中文字幕在线| 91丝袜国产在线播放| 成人免费一区二区三区在线观看| 国产精品亚洲成人| 久久免费的精品国产v∧| 国内精品不卡在线| 欧美精品一区二区三区四区| 极品少妇一区二区三区精品视频| 日韩一区二区三区电影在线观看| 蜜桃精品视频在线| 精品理论电影在线观看| 国产不卡视频在线播放| 国产精品欧美极品| 色综合一个色综合| 精品欧美久久久| 国产精品一品二品|