校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

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

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

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

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

它有如下三個特點(diǎn):

  • 跨平臺

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

  • 商業(yè)友好

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

  • GPU 加速

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

除此之外 Kivy 也存在一些缺點(diǎn),比如:

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

盡管 Kivy 有這樣的缺點(diǎn),但也不失為一個優(yōu)秀的 Python 圖形界面開發(fā)庫。尤其是其能夠?qū)?yīng)用程序打包為移動設(shè)備(IOS 和安卓)可用的 APP,可以說極大地擴(kuò)展了 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 提供了一種簡單且可擴(kuò)展的 GUI 設(shè)計語言用來專門設(shè)計對 Kivy 的圖形界面進(jìn)行設(shè)計。我們可以在.kv文件中設(shè)計好程序的圖形界面,然后在.py文件中對圖像界面進(jìn)行交互控制。

在本程序中,我們一共有 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 的先天缺陷,其對中文的支持很差勁,默認(rèn)情況下,中文都會顯示成一個個豆腐塊,只能通過引入中文字體來解決:

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"

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

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

小結(jié)

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

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

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

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

標(biāo)簽:東莞 臨汾 重慶 德宏 長春 漢中 廊坊 河池

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《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)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久亚洲影视婷婷| 欧美午夜在线一二页| 久久久影视传媒| 韩国一区二区三区| 一区在线中文字幕| 在线亚洲一区二区| 五月天久久比比资源色| 欧美一区二区三区日韩| 国产一区二区电影| 亚洲人成在线播放网站岛国| 欧美影片第一页| 乱中年女人伦av一区二区| 精品久久久三级丝袜| 风流少妇一区二区| 亚洲网友自拍偷拍| 欧美精品久久久久久久久老牛影院| 亚洲国产精品久久久久婷婷884| 在线不卡免费欧美| 国产精品66部| 亚洲激情成人在线| 日韩小视频在线观看专区| 国产高清不卡一区| 夜色激情一区二区| 久久精品视频一区| 在线精品视频免费播放| 韩国精品主播一区二区在线观看| 中文字幕乱码一区二区免费| 精品视频在线看| 国产美女主播视频一区| 亚洲在线视频一区| 26uuu国产电影一区二区| 在线亚洲一区二区| 久久99国产精品尤物| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲精品美腿丝袜| 欧美精品一区二区精品网| 国产91丝袜在线观看| 日韩国产欧美在线播放| 欧美三级三级三级| 日一区二区三区| 国产精品成人一区二区艾草 | 久久国产精品露脸对白| 国产精品免费视频观看| 欧美一区永久视频免费观看| av成人动漫在线观看| 看片网站欧美日韩| 一区二区三区精密机械公司| 久久九九国产精品| 日韩欧美色综合| 欧美性欧美巨大黑白大战| 成人综合在线观看| 精品中文字幕一区二区| 日韩精品亚洲一区二区三区免费| 国产精品福利影院| 久久久国产午夜精品| 日韩免费在线观看| 欧美日韩国产在线播放网站| eeuss国产一区二区三区| 精品一区二区三区免费毛片爱| 亚洲h精品动漫在线观看| 玉米视频成人免费看| 日韩理论在线观看| 国产精品国产自产拍在线| 久久久久久久久99精品| 精品免费国产二区三区| 精品久久久久久无| 日韩欧美国产综合在线一区二区三区| 在线精品观看国产| 在线观看欧美日本| 欧美亚洲一区三区| 欧美在线制服丝袜| 欧美吻胸吃奶大尺度电影 | 欧美高清视频一二三区| 一本久久a久久免费精品不卡| 播五月开心婷婷综合| 白白色亚洲国产精品| 国产91精品久久久久久久网曝门 | 久久国产精品无码网站| 天堂成人国产精品一区| 亚洲大片免费看| 天天免费综合色| 天堂一区二区在线| 奇米一区二区三区| 久久99精品久久久久久动态图| 久久精品国产精品青草| 精品在线免费视频| 国产成人久久精品77777最新版本| 国产在线视频精品一区| 国产成人精品午夜视频免费 | 99久久99精品久久久久久| 成人av在线看| 91久久精品一区二区三| 欧美日本一道本| 日韩欧美亚洲国产另类| 精品久久久久久久久久久久包黑料| 久久综合九色综合久久久精品综合| 久久精品网站免费观看| 国产精品福利一区二区三区| 亚洲免费伊人电影| 亚洲欧洲综合另类| 夜夜嗨av一区二区三区| 日日夜夜一区二区| 国产一区二区三区美女| 一区二区三区精品视频在线| 国产精一品亚洲二区在线视频| 狠狠色狠狠色综合| 亚洲bt欧美bt精品777| 久久国产剧场电影| 成人18视频日本| av成人免费在线观看| 国产传媒久久文化传媒| 欧美性感一类影片在线播放| 欧美一区2区视频在线观看| 日韩免费电影一区| 亚洲成av人片在线观看无码| 日韩不卡一区二区三区| 午夜精品视频在线观看| 青娱乐精品视频在线| 亚洲精品久久久蜜桃| 欧美mv日韩mv国产网站| 亚洲成人7777| 国产一区二区精品久久99| 日韩欧美精品三级| 色婷婷av一区| 精品亚洲成a人| 欧美一区二区三区免费在线看| 欧美国产禁国产网站cc| 一区二区三区国产精华| 精品一区二区三区视频| 日本乱人伦aⅴ精品| 久久亚洲私人国产精品va媚药| 亚洲品质自拍视频网站| 精品理论电影在线| 欧美精品18+| 欧美丰满嫩嫩电影| 欧美日本一区二区| 国产精品网站在线| 蜜桃一区二区三区在线| 色婷婷综合五月| 精品日韩一区二区三区免费视频| 亚洲天堂福利av| 国产成人在线看| 欧美不卡一区二区三区四区| 一区二区成人在线| 99久久777色| 欧美国产欧美综合| 美女国产一区二区| 欧美日韩一区久久| 亚洲精品成人在线| 成人av在线电影| 国产午夜精品一区二区| 久久99精品视频| 日韩午夜激情电影| 日韩精品一卡二卡三卡四卡无卡| 色婷婷综合五月| 日韩理论片中文av| 一本色道久久综合狠狠躁的推荐| 亚洲国产经典视频| 国产精品99久久久久久似苏梦涵| 精品国产一区二区精华| 日本伊人午夜精品| 欧美挠脚心视频网站| 亚洲精品免费在线播放| 一本色道久久综合狠狠躁的推荐 | 欧美一级xxx| 午夜精品久久久久久不卡8050 | 欧美日韩国产小视频| 亚洲精品久久久久久国产精华液| 91在线视频官网| 亚洲激情自拍视频| 色综合久久综合| 亚洲国产一区视频| 欧美日韩国产高清一区| 日韩综合小视频| 91精品综合久久久久久| 日韩不卡一区二区三区 | 欧美成人官网二区| 99精品久久99久久久久| 天天操天天综合网| 综合中文字幕亚洲| 日韩欧美中文字幕公布| a亚洲天堂av| 老汉av免费一区二区三区 | 欧美成人精品福利| av一二三不卡影片| 久久国产精品99久久久久久老狼 | 欧美午夜电影在线播放| 黄网站免费久久| 男男成人高潮片免费网站| 亚洲一区在线观看免费观看电影高清| 日韩你懂的在线观看| 综合色天天鬼久久鬼色| 精品国产免费久久| 中文字幕成人网| 天堂蜜桃91精品| 色8久久人人97超碰香蕉987| 日韩一级片网站| 亚洲午夜在线电影| 成人av在线网站| 国产麻豆午夜三级精品|