最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python光學(xué)仿真學(xué)習(xí)wxpython創(chuàng)建手速測試程序

 更新時間:2021年10月20日 09:10:32   作者:微小冷  
這篇文章主要介紹了python光學(xué)仿真學(xué)習(xí)使用wxpython創(chuàng)建一個手速測試程序示例的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助

滾動條是什么大家自然都是知道的,可以非常直觀地顯示數(shù)據(jù)的變化,或者可以非常方便地改變某些數(shù)值。

此前在介紹按鈕、靜態(tài)文本、輸入文本這三個控件時,相對來說比較乏味,所以這次我們采用需求引導(dǎo)的模式。假如想編寫一個軟件用來檢測打字速度,同時能夠非常直觀地通過滾動條來顯示出來,應(yīng)該怎么寫?

我們大致需要三個控件,文本輸入控件用來輸入文字;靜態(tài)文本控件用于顯示速度;滾動條用來動態(tài)地顯示速度。同時,還需要知道系統(tǒng)的時間,總之,代碼如下

import wx
import time #時間模塊
class testFrame(wx.Frame):
    def __init__(self, parent=None, title="test",size=(300,320)):
        wx.Frame.__init__(self,parent=parent, title=title,size=size)
        self.SetBackgroundColour(wx.Colour(222,222,222))
        self.timeStart=0
        self.count=0
        self.setText = wx.TextCtrl(self,value="input",
            pos=(10,10),size=(240,240),style=wx.TE_MULTILINE)
        self.ratioSlider = wx.Slider(self,
            minValue=0,maxValue=20,pos=(260,10),size=(20,220),
            style=wx.SL_VERTICAL|wx.SL_INVERSE)
        self.ratioLabel = wx.StaticText(self,-1,"0",
            pos=(260,240),size=(20,10))
        self.setText.Bind(wx.EVT_TEXT,self.onCount)
        self.setText.Bind(wx.EVT_TEXT_ENTER,self.onText)
    def onText(self,evt):
        self.count = 0              #敲擊回車時,計數(shù)清零
        self.timeStart=time.time()  #當(dāng)前時間,單位為秒
    def onCount(self,evt):
        self.count += 1
        if self.timeStart==0:
            self.timeStart = time.time()
        ratio = self.count/(time.time()-self.timeStart)
        self.ratioSlider.SetValue(ratio)
        self.ratioLabel.SetLabel(str(ratio))
if __name__ == '__main__':
    app = wx.App()
    frame = testFrame(title="test")
    frame.Show()
    app.MainLoop()

其結(jié)果如下圖所示:

在這里插入圖片描述

這個程序?qū)崿F(xiàn)的并不是打字速度,而是手速。文本輸入控件中的字符每改變一次,就算作一次有效操作,包括增加字符或者刪除字符。通過字符變化的次數(shù)除以時間,來統(tǒng)計每秒敲擊鍵盤的次數(shù)。當(dāng)敲擊回車時,計數(shù)清零,重新開始。

先來看初始化函數(shù),定義了self.count用于計數(shù),self.timeStart用于記錄初始時間,時間模塊在一些算法測試中可能會經(jīng)常用到。

然后是多行文本輸入控件,我們?yōu)槠浣壎藘蓚€函數(shù)。onText為敲擊回車時的事件響應(yīng),此時計數(shù)歸零,并對初始時間重新賦值。onCount表示當(dāng)內(nèi)容發(fā)生變化時響應(yīng),通過計數(shù)變量除以時間差從而得到單位時間的操作次數(shù)。

然后定義了一個滾動條,minValue、maxValue這兩個參數(shù)顧名思義,即最小值和最大值。style即風(fēng)格,此前我們在定義輸入文本框時也有提到,但這次定義的風(fēng)格中多了一個"|"字符。

"|“字符代表或的意思,如果我們希望某個控件同時具備多種風(fēng)格,即可以用”|"來連接。wx.Slider的風(fēng)格還是多種多樣的。我們所調(diào)用的兩個風(fēng)格分別表示:

  • wx.SL_VERTICAL 表示我們創(chuàng)建的是縱向的滑動條。默認(rèn)為橫向,其標(biāo)志為wx.HORIZONTAL。
  • wx.SL_INVERSE 表示我們翻轉(zhuǎn)最大值和最小值的方向。

以上就是python光學(xué)仿真學(xué)習(xí)使用wxpython創(chuàng)建手速測試程序的詳細(xì)內(nèi)容,更多關(guān)于wxpython創(chuàng)建手速測試程序的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python實(shí)現(xiàn)排序算法

    python實(shí)現(xiàn)排序算法

    這篇文章主要介紹了python實(shí)現(xiàn)排序算法,處理小序列不錯,需要的朋友可以參考下
    2014-02-02
  • Python基礎(chǔ)學(xué)習(xí)之條件控制語句小結(jié)

    Python基礎(chǔ)學(xué)習(xí)之條件控制語句小結(jié)

    如果我需要設(shè)置一個死循環(huán),然后靠條件來終止,怎么辦?一個很簡單的問題,但是我卻沒有說,這一篇本應(yīng)該在分支控制語句里面的,現(xiàn)在只能拿出來水文再寫一篇了,需要的朋友可以參考下
    2021-05-05
  • Python使用asyncio包處理并發(fā)的實(shí)現(xiàn)代碼

    Python使用asyncio包處理并發(fā)的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Python使用asyncio包處理并發(fā),asyncio包使用事件循環(huán)驅(qū)動的協(xié)程實(shí)現(xiàn)并發(fā),本文通過實(shí)例代碼給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • python 爬取壁紙網(wǎng)站的示例

    python 爬取壁紙網(wǎng)站的示例

    這篇文章主要介紹了python 爬取壁紙網(wǎng)站的示例,幫助大家更好的理解和學(xué)習(xí)使用python爬蟲,感興趣的朋友可以了解下
    2021-03-03
  • pycharm設(shè)置注釋顏色的方法

    pycharm設(shè)置注釋顏色的方法

    今天小編就為大家分享一篇pycharm設(shè)置注釋顏色的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python3結(jié)合openpyxl庫實(shí)現(xiàn)excel操作的實(shí)例代碼

    python3結(jié)合openpyxl庫實(shí)現(xiàn)excel操作的實(shí)例代碼

    這篇文章主要介紹了python3結(jié)合openpyxl庫實(shí)現(xiàn)excel操作的實(shí)例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Python中uuid模塊的應(yīng)用實(shí)例詳解

    Python中uuid模塊的應(yīng)用實(shí)例詳解

    這篇文章主要介紹了Python中uuid模塊應(yīng)用的相關(guān)資料,該模塊提供了多種方法生成UUID,包括uuid1()、uuid3()、uuid4()和uuid5(),并解釋了UUID的格式,UUID在數(shù)據(jù)庫、分布式系統(tǒng)和網(wǎng)絡(luò)協(xié)議中廣泛應(yīng)用,是處理唯一標(biāo)識符的有力工具,需要的朋友可以參考下
    2024-11-11
  • python進(jìn)行文件對比的方法

    python進(jìn)行文件對比的方法

    在本篇內(nèi)容里小編給分享了關(guān)于python進(jìn)行文件對比的方法和步驟,需要的朋友們可以學(xué)習(xí)下。
    2018-12-12
  • 通過Python的filestools庫給圖片添加全圖水印的示例詳解

    通過Python的filestools庫給圖片添加全圖水印的示例詳解

    這篇文章主要介紹了通過Python的filestools庫給圖片添加全圖水印,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • python實(shí)現(xiàn)批量下載新浪博客的方法

    python實(shí)現(xiàn)批量下載新浪博客的方法

    這篇文章主要介紹了python實(shí)現(xiàn)批量下載新浪博客的方法,涉及Python頁面抓取的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06

最新評論

永济市| 扬中市| 光山县| 青龙| 门源| 玉环县| 武清区| 常州市| 晋州市| 香格里拉县| 宝丰县| 祁阳县| 布尔津县| 北安市| 佛坪县| 山阴县| 鄂尔多斯市| 镇远县| 桦甸市| 门头沟区| 射阳县| 容城县| 东乌| 永修县| 旬邑县| 图木舒克市| 沙湾县| 平邑县| 剑川县| 灵石县| 郓城县| 阿拉善左旗| 洛扎县| 德化县| 拜城县| 桂东县| 荣昌县| 唐海县| 韶关市| 溆浦县| 修武县|