日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:34日期:2022-06-28 18:52:07

Kivy 是一個開源的 Python 第三方庫,可以用來快速開發應用程序。

它有如下三個特點:

跨平臺

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

商業友好

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

GPU 加速

Kivy 的圖像引擎基于 Open ES 2 構建,性能出眾。

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

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

盡管 Kivy 有這樣的缺點,但也不失為一個優秀的 Python 圖形界面開發庫。尤其是其能夠將應用程序打包為移動設備(IOS 和安卓)可用的 APP,可以說極大地擴展了 Python 開發的邊界。

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

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

本文所述程序的代碼結構如下圖所示:

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

其中:

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

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

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

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

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

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

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

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

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

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

編寫主程序代碼

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

首先,引入所需的模塊:

from kivy.app import Appfrom kivy.uix.screenmanager import Screen,SlideTransitionfrom kivy.core.text import LabelBasefrom kivy.uix.button import ButtonBehaviorfrom kivy.uix.image import Imagefrom kivy.clock import Clockimport time

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

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

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

# 圖像按鈕class ImageButton(ButtonBehavior,Image): pass# 秒表屏幕class StopwatchScreen(Screen): pass# 時鐘屏幕class ClockScreen(Screen): pass

創建一個名為MainApp()的類,這是程序的主類。我們把各種交互控制的方法寫在這里面:class MainApp(App): sw_started = False # 秒表啟動狀態 sw_seconds = 0 # 當前秒表秒數 def update(self,n): # 如果秒表已啟動,更新當前秒數 if self.sw_started: self.sw_seconds += n # 更新當前時間 self.root.ids[’clock_screen’].ids[’time’].text = time.strftime('[b]%H[/b]:%M:%S') # 更新秒表 m,s = divmod(self.sw_seconds,60) # 返回一個包含商和余數的元組 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()并調用其run()方法即可運行。

if __name__ == ’__main__’: app = MainApp() app.run()小結

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

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

以上就是python基于Kivy 寫一個圖形桌面時鐘程序的詳細內容,更多關于python Kivy 寫一個桌面時鐘程序的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
黄色成人在线网址| 免播放器亚洲一区| 亚洲一区日韩| 国产网站在线| 免费在线播放第一区高清av| 日韩中文字幕亚洲一区二区va在线| 亚洲黄色免费av| 精品欠久久久中文字幕加勒比| 国产视频一区二| 欧美天堂在线| 国产免费av一区二区三区| 激情综合网五月| 亚洲成人不卡| 91av亚洲| 国产一区二区三区久久久久久久久| 国产日产精品_国产精品毛片 | 国产视频一区三区| 亚洲伦乱视频| 日韩精品专区| 午夜精品成人av| 成人精品亚洲| 精品久久亚洲| 国产一区二区三区亚洲综合| 久久av中文| 精品中文在线| 国产成人精品亚洲线观看 | 99pao成人国产永久免费视频| 久久精品91| 欧美特黄一级大片| 亚洲精品在线a| 久久中文字幕一区二区三区| 欧美一区二区性| 日韩精品亚洲aⅴ在线影院| 精品一区视频| 国产精品丝袜xxxxxxx| 久久国产精品色av免费看| 水蜜桃久久夜色精品一区| 狠狠爱成人网| 国产欧美69| 久久蜜桃av| 日韩激情av在线| 九九精品调教| 日韩激情一区二区| 久久伊人国产| 亚洲欧美日本国产专区一区| 久久99精品久久久野外观看| 欧美天堂亚洲电影院在线观看| 欧美天堂一区二区| 激情综合网址| 欧美激情网址| 久久亚洲一区| 亚洲黄色免费av| 日韩二区在线观看| 激情欧美日韩一区| 欧美激情麻豆| 热久久国产精品| 三上悠亚国产精品一区二区三区| 日韩免费精品| 成人久久一区| 国产精品视频一区二区三区| 日韩视频一区二区三区在线播放免费观看| 国产精品久久亚洲不卡| 亚洲欧美网站| 国产美女高潮在线观看| 亚洲深深色噜噜狠狠爱网站| 日韩欧美综合| 国产毛片精品| 国产亚洲毛片| 日韩欧美二区| 国产日韩免费| 免费成人av在线播放| 欧美日韩免费观看视频| 欧美亚洲色图校园春色| 久久免费高清| 久久伊人亚洲| 日韩精品欧美大片| 中文一区二区| 亚洲电影有码| 成人日韩av| 国产麻豆精品久久| 亚洲视频二区| 最新亚洲激情| 久久久精品日韩| 精品免费在线| 国产日韩中文在线中文字幕| 久久亚洲色图| 性欧美69xoxoxoxo| 在线观看精品| 精品视频网站| 国产精品久久久亚洲一区| 免费黄网站欧美| 在线成人直播| 欧洲在线一区| 国产网站在线| 精品亚洲a∨一区二区三区18| 69堂免费精品视频在线播放| 丝瓜av网站精品一区二区| 久久一区二区三区喷水| 日韩电影二区| 91一区二区| 福利一区视频| 精品淫伦v久久水蜜桃| 国产精品亚洲片在线播放| 一区二区三区四区日韩| 好看的av在线不卡观看| 亚洲小说欧美另类婷婷| 欧美成人精品三级网站| 中文字幕在线免费观看视频| 久久三级毛片| 精品久久亚洲| 美女视频网站久久| 国产欧美日韩一区二区三区四区| 日本精品久久| 日韩福利视频导航| 日本电影久久久| 日韩av电影一区| 日韩av电影一区| 欧美一区二区三区久久| 日本中文字幕视频一区| 蜜桃久久久久久久| 亚洲精品看片| 日韩精品成人在线观看| 日韩精品乱码av一区二区| 日韩欧美中文字幕一区二区三区 | 国产精品一区二区三区av| 日韩一区二区三区精品视频第3页| 久久福利一区| 免播放器亚洲| 亚洲一区二区三区高清不卡| 中文在线不卡| 蜜桃久久av一区| 亚洲91在线| 91精品一区| 国产精品欧美一区二区三区不卡| 国产视频一区二| 精品国产一区二区三区av片| 91综合网人人| 99久久夜色精品国产亚洲1000部| 免费欧美一区| 亚洲一区二区小说| 国产欧美一区二区精品久久久 | 国产精品日韩精品在线播放| 麻豆精品久久久| 中文另类视频| 亚洲中字黄色| 国产一区 二区| 国产成人精品一区二区三区免费| 91精品韩国| 日本 国产 欧美色综合| 欧美日本不卡高清| 成人国产精品一区二区网站| 99成人超碰| 国产一级一区二区| 日韩精品一区二区三区中文在线| 另类小说一区二区三区| 91视频精品| 鲁大师成人一区二区三区| 国产伦精品一区二区三区视频| 国产第一亚洲| 亚洲一区中文| 久久激情五月激情| 国产日韩电影| 免费在线观看成人| 精品美女视频| 亚洲激情偷拍| 久久国产三级| 久久国产成人午夜av影院宅| 国产亚洲在线观看| 国产剧情一区| 激情综合在线| 亚洲日本久久| 韩日一区二区| 美国三级日本三级久久99| 欧美精品1区| 中文亚洲欧美| 国产精品亚洲综合在线观看| 激情久久久久久久| 久久精品超碰| 欧美影院三区| 国产精品自拍区| 亚洲欧洲日本mm| 你懂的国产精品永久在线| 日韩中文在线电影| 日本不卡视频一二三区| 日韩在线短视频| 日本视频中文字幕一区二区三区| 91看片一区| 久久国产免费看| 一区在线免费| 精品一区二区三区亚洲| 石原莉奈在线亚洲二区| 久久影院午夜精品| 日韩精品导航| 亚洲精品午夜av福利久久蜜桃| 欧美a级一区二区| 久久av在线| 最近高清中文在线字幕在线观看1| 久久亚洲二区| 日韩大片在线| 国产精品99久久免费|