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

主頁(yè) > 知識(shí)庫(kù) > python基于Kivy寫(xiě)一個(gè)圖形桌面時(shí)鐘程序

python基于Kivy寫(xiě)一個(gè)圖形桌面時(shí)鐘程序

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

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

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

  • 跨平臺(tái)

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

  • 商業(yè)友好

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

  • GPU 加速

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

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

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

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

本篇文章,我們用 Kivy 寫(xiě)一個(gè)桌面時(shí)鐘程序,來(lái)體驗(yàn)一下 Kivy 的圖形界面開(kāi)發(fā)。其最終效果如下圖所示:

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

其中:

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

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

Kivy 提供了一種簡(jiǎn)單且可擴(kuò)展的 GUI 設(shè)計(jì)語(yǔ)言用來(lái)專(zhuān)門(mén)設(shè)計(jì)對(duì) Kivy 的圖形界面進(jìn)行設(shè)計(jì)。我們可以在.kv文件中設(shè)計(jì)好程序的圖形界面,然后在.py文件中對(duì)圖像界面進(jìn)行交互控制。

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

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

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

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

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

編寫(xiě)主程序代碼

在通過(guò) Kivy 的kv設(shè)計(jì)語(yǔ)言構(gòu)建好了程序界面之后,我們來(lái)編寫(xiě)主程序的 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

接著,配置一下中文字體。因?yàn)?Kivy 的先天缺陷,其對(duì)中文的支持很差勁,默認(rèn)情況下,中文都會(huì)顯示成一個(gè)個(gè)豆腐塊,只能通過(guò)引入中文字體來(lái)解決:

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

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

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

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

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

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

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

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

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

 # 開(kāi)始/停止
 def start_stop(self):
 self.root.ids['stopwatch_screen'].ids['start_stop'].text = '啟動(dòng)' 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 = '啟動(dòng)'
  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"

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

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

小結(jié)

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

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

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python基于Kivy寫(xiě)一個(gè)圖形桌面時(shí)鐘程序》,本文關(guān)鍵詞  python,基于,Kivy,寫(xiě),一個(gè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python基于Kivy寫(xiě)一個(gè)圖形桌面時(shí)鐘程序》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于python基于Kivy寫(xiě)一個(gè)圖形桌面時(shí)鐘程序的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩欧美一级在线播放| 欧美一区二区三区四区五区| 91美女片黄在线观看| 久久精品一区二区三区四区| 免费一级欧美片在线观看| 欧美高清视频在线高清观看mv色露露十八| 国产精品久久影院| 99久久久无码国产精品| 亚洲精品你懂的| 在线电影国产精品| 激情综合色播激情啊| 国产精品三级电影| 欧美巨大另类极品videosbest| 蜜臀av一区二区在线免费观看| xfplay精品久久| 成人免费毛片片v| 一区二区三区在线视频免费观看| 欧美日韩国产高清一区二区| 麻豆精品国产91久久久久久 | 国内精品伊人久久久久av一坑| 国产日产欧美一区二区视频| 色婷婷亚洲综合| 精品一区二区三区在线播放视频| 国产精品久久久一区麻豆最新章节| 色噜噜狠狠成人中文综合| 日本不卡视频在线观看| 中文字幕av一区二区三区| 91精彩视频在线观看| 日本欧美一区二区三区| 国产精品国模大尺度视频| 欧美精品日日鲁夜夜添| a美女胸又www黄视频久久| 日本不卡一二三| 亚洲一区二区影院| 国产欧美日韩麻豆91| 91精品在线免费| 一本到不卡免费一区二区| 裸体一区二区三区| 一区二区三区久久| 国产精品高潮久久久久无| 日韩视频免费直播| 色素色在线综合| 成人午夜视频免费看| 韩国中文字幕2020精品| 日韩影视精彩在线| 亚洲综合成人在线视频| 中文字幕在线免费不卡| 久久精品视频网| 久久综合一区二区| 精品国产乱码久久久久久夜甘婷婷| 欧美性受极品xxxx喷水| av中文字幕亚洲| 粉嫩一区二区三区在线看| 国产一区二区网址| 国产精品综合一区二区| 国产麻豆精品一区二区| 国产精品一区二区男女羞羞无遮挡| 免费在线观看视频一区| 奇米一区二区三区av| 免费视频一区二区| 久久99国产精品成人| 韩国理伦片一区二区三区在线播放| 奇米色777欧美一区二区| 青青草精品视频| 日韩高清在线观看| 日韩av电影免费观看高清完整版| 视频一区免费在线观看| 蜜桃视频免费观看一区| 狠狠色丁香婷综合久久| 国产91精品一区二区麻豆亚洲| 国产91综合一区在线观看| 波多野结衣在线一区| 99re亚洲国产精品| 欧美视频一区二区在线观看| 欧美影院午夜播放| 日韩一级完整毛片| 国产嫩草影院久久久久| 国产精品国产a| 亚洲一区免费视频| 麻豆精品在线播放| av一区二区三区在线| 欧美日韩dvd在线观看| 精品国产一区二区三区久久影院| 久久久久99精品一区| 亚洲色图制服诱惑 | 国产suv精品一区二区6| 99视频有精品| 欧美日韩一区三区| 欧美成人vr18sexvr| 国产精品久久久久久妇女6080| 亚洲一二三专区| 国产东北露脸精品视频| 色香蕉久久蜜桃| 日韩一区国产二区欧美三区| 国产欧美日韩卡一| 亚洲第一福利一区| 风流少妇一区二区| 91精品国产乱| 自拍偷拍欧美激情| 国产一区欧美二区| 日本乱人伦aⅴ精品| 亚洲精品一区二区三区香蕉 | 亚洲色图一区二区| 日韩二区三区四区| av资源站一区| 精品国产一区二区在线观看| 亚洲精品欧美专区| 国产伦理精品不卡| 精品视频全国免费看| 国产欧美精品一区二区色综合| 五月激情六月综合| 色先锋aa成人| 国产精品黄色在线观看| 激情综合色播五月| 制服丝袜一区二区三区| 亚洲欧洲日本在线| 国产一区二区三区美女| 欧美精品高清视频| 亚洲妇女屁股眼交7| 91麻豆文化传媒在线观看| 国产亚洲一区二区三区| 久久综合综合久久综合| 欧美久久久影院| 伊人色综合久久天天人手人婷| 不卡一区二区在线| 国产精品丝袜黑色高跟| 国产一区二区在线视频| 精品美女一区二区三区| 日韩精品一区第一页| 欧美视频一区在线观看| 一区二区三区四区国产精品| 91网站在线观看视频| 一区在线观看免费| 91免费看视频| 亚洲男女毛片无遮挡| 色狠狠综合天天综合综合| 亚洲另类在线制服丝袜| 日本高清无吗v一区| 亚洲激情在线激情| 欧洲视频一区二区| 亚洲高清视频的网址| 欧美视频一区二区三区四区 | 亚洲国产精品精华液网站| 色婷婷久久久久swag精品| 亚洲国产人成综合网站| 3d动漫精品啪啪一区二区竹菊| 蜜桃一区二区三区四区| 国产视频不卡一区| 成人免费电影视频| 日本一区二区三区四区| 大尺度一区二区| 亚洲综合免费观看高清完整版| 欧美老女人在线| 国产自产高清不卡| 亚洲欧美综合色| 欧美精品久久99| 懂色av噜噜一区二区三区av| 亚洲免费观看在线视频| 日韩一区二区麻豆国产| 高清成人免费视频| 午夜日韩在线电影| 国产欧美日韩另类视频免费观看| av一区二区三区四区| 亚洲成人久久影院| 久久久99免费| 欧美伊人久久久久久久久影院| 美腿丝袜一区二区三区| 国产精品美女久久久久aⅴ| 日本高清视频一区二区| 美女在线观看视频一区二区| 国产精品美女久久久久久久网站| 欧美色网站导航| 国产成人av资源| 日韩电影在线一区二区三区| 国产精品女主播在线观看| 欧美一区二区观看视频| 成人h动漫精品一区二区| 日本伊人精品一区二区三区观看方式| 欧美激情一区二区三区蜜桃视频| 欧美男人的天堂一二区| 国产福利91精品| 日韩精品每日更新| 中文字幕亚洲一区二区av在线 | 欧美怡红院视频| 国产高清在线观看免费不卡| 亚洲成人自拍偷拍| 久久久精品欧美丰满| 欧美日韩卡一卡二| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 捆绑变态av一区二区三区| 亚洲久草在线视频| 国产欧美精品一区二区三区四区 | 亚洲福中文字幕伊人影院| 久久亚洲欧美国产精品乐播| 欧美日韩国产天堂| 欧美艳星brazzers| 色噜噜狠狠成人网p站| 成人国产精品免费观看动漫| 老司机免费视频一区二区 | 国产河南妇女毛片精品久久久|