日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python打字效果_Python学习之旅:用Python制作一个打字训练小工具

發(fā)布時間:2025/3/15 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python打字效果_Python学习之旅:用Python制作一个打字训练小工具 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、寫在前面

說道程序員,你會想到什么呢?有人認(rèn)為程序員象征著高薪,有人認(rèn)為程序員都是死肥宅,還有人想到的則是996和 ICU。

Python資源共享群:626017123

別人眼中的程序員:飛快的敲擊鍵盤、酷炫的切換屏幕、各種看不懂的字符代碼。

然而現(xiàn)實(shí)中的程序員呢?對于很多程序員來說,沒有百度和 Google 解決不了的問題,也沒有 ctrl + c 和 ctrl + v 實(shí)現(xiàn)不了的功能。

那么身為一個程序員,要怎么讓自己看起來更加“專業(yè)”呢?答案就是加快自己的打字速度了,敲的代碼可能是錯的,但這個13卻是必須裝的!

然而還是有不少人打字不那么快的,可能就需要訓(xùn)練下了,但是既然身為程序員,為何不自己寫一個訓(xùn)練打字的小工具出來呢?

二、基本思路

使用 PyQT5 開發(fā) GUI,實(shí)現(xiàn)顯示句子并讓用戶輸入,然后將輸入的內(nèi)容和給出的句子進(jìn)行比對,同時記錄所用的時間,最后將正確率輸出來。為了能夠持續(xù)打字輸入,還需要做一個“下一句”的功能。在實(shí)現(xiàn)了這兩個基本的功能后,一個簡單的打字訓(xùn)練小工具就做出來了。

三、界面設(shè)計

1.環(huán)境配置

PyQT5 的開發(fā)環(huán)境配置在上一篇博客中已經(jīng)說過了,因而這里不再贅述,如果不清楚的可以點(diǎn)這里查看。

2.界面設(shè)計

要進(jìn)行界面設(shè)計,得先打開 QtDesigner,然后新建項(xiàng)目,選擇 Widget:

然后就往里面拖控件就好了,這還是很方便的,主要用的控件包括 Label、Text Edit、Push Button等,雙擊控件之后可以在右側(cè)修改控件的各種屬性。最終設(shè)計出的界面如下:

3.生成 Python 代碼

在設(shè)計完界面之后,將生成的結(jié)果保存下來,會得到一個 .ui 為后綴的文件。這個文件我們還是無法直接使用的,需要轉(zhuǎn)變成 Python 代碼才行。此時就需要使用 pyuic5 命令了,不懂的可以點(diǎn)這里查看我的上篇博客。

四、槽函數(shù)

1.槽函數(shù)簡介

要進(jìn)行功能設(shè)計,就得先知道槽函數(shù)。槽是普通的 C++ 成員函數(shù),槽在 Qt 開發(fā)軟件中是一個很重要的概念,在 Qt 里與信號連接的就是槽,我們一般稱之為槽函數(shù)。

在使用信號的時候,有四個參數(shù):

1)sender:發(fā)出信號的對象;

2)signal:發(fā)送對象發(fā)出的信號;

3)receiver:接收信號的對象;

4)slot:接收對象在接收到信號之后所需要調(diào)用的函數(shù)(槽函數(shù))。

2.使用方法

(1)第一種方法

第一步,在 QtDesigner 中點(diǎn)擊 “Edit Signals/Slots”,然后左鍵點(diǎn)擊按鈕后將鼠標(biāo)拖到另一個 Label 上:

第二步,在彈出的設(shè)置框中選擇具體的方法及功能。

這樣做很簡單,但是也有缺陷,問題在于不能自定義方法,只能使用給定的方法。

(2)第二種方法

在右下角找到 “Signal/Slot Editor” 并點(diǎn)擊,然后就可以點(diǎn)擊 “+” 創(chuàng)建信號了。

這種方法能夠讓我們自定義了,但是也不算方便,尤其是當(dāng)你不知道具體要實(shí)現(xiàn)什么方法的時候。

(3)第三種方法

使用 connect() 方法,傳入的參數(shù)為一個方法名稱。例如:

btn.clicked.connect(func)

五、功能實(shí)現(xiàn)

1.繼承函數(shù)

使用 pyuic5 生成 py 文件中定義了一個 Ui_Form 類,其中包含了對各種控件的定義等,如果我們要增加其他功能,且直接在這個 py 文件中修改的話,那么之后要更新界面之類的就不會不方便了,所以最好的方法是繼承 Ui_Form 類,然后在繼承類中添加修改。參考代碼如下:

1 import sys

2 from PyQt5 import QtWidgets

3 from typing.ui import Ui_Form

4

5

6 class MyForm(Ui_Form, QtWidgets.QWidget):

7 def __init__(self):

8 super(MyForm, self).__init__()

9 self.setupUi(self)

10

11

12 if __name__ == '__main__':

13 app = QtWidgets.QApplication(sys.argv)

14 my_form = MyForm()

15 my_form.show()

16 sys.exit(app.exec_())

2.隱藏顯示控件

有時候我們可能會需要將某些控件隱藏起來,這里簡單介紹幾種方法。

1)setHidden(bool) 設(shè)置控件是否隱藏;

2)hide() 隱藏控件;

這兩種隱藏的方法會完全隱藏控件,即不保留控件所占的位置。但如果要保留位置的話,可以使用下面這種方法:

# 將透明度設(shè)置為0,達(dá)到隱藏且保留位置的目的

op = QtWidgets.QGraphicsOpacityEffect()

op.setOpacity(0)

self.lable.setGraphicsEffect(op)

3.判斷輸入內(nèi)容

這一功能的實(shí)現(xiàn)需要在點(diǎn)擊“提交”按鈕時獲取輸入框中的內(nèi)容,再和給出的文本進(jìn)行對比,最后將結(jié)果返回顯示出來。

1 def click(self):

2 """

3 點(diǎn)擊按鈕時調(diào)用

4 :return:

5 """

6 self.get_time()

7 the_input = self.textEdit.toPlainText()

8 # 計算準(zhǔn)確率

9 count = 0

10 for i in range(len(the_input)):

11 if the_input[i] == self.text[i]:

12 count += 1

13 accuracy = count / len(self.text) * 100

14 # print(accuracy)

15 self.show_label()

16 # 設(shè)置提示信息

17 info = "有點(diǎn)可惜,你的正確率是: %.2f%% " % accuracy if accuracy != 100 else "恭喜你全對了呢!繼續(xù)加油哦!"

18 self.info_lable.setText(info)

對于我這種懶人來說,點(diǎn)擊按鈕這種操作都是費(fèi)力的,所以最好加入一個快捷鍵,這樣就方便多了,可以使用如下方法設(shè)置:

# 設(shè)置快捷鍵

self.submit_btn.setShortcut('ctrl+e')

六、運(yùn)行結(jié)果

最終運(yùn)行結(jié)果的截圖如下:

提交之后還可以點(diǎn)擊下一句繼續(xù)訓(xùn)練:

完整代碼已上傳到 GitHub !

總結(jié)

以上是生活随笔為你收集整理的python打字效果_Python学习之旅:用Python制作一个打字训练小工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 小小姑娘电影大全免费播放 | 网站免费在线观看 | 在线看b | 深夜福利网站在线观看 | 男人av的天堂 | xx在线视频| 国产一区2区 | 特级a级片 | 欧美xxxxx高潮喷水麻豆 | 性一交一乱一伧国产女士spa | 色婷婷香蕉在线一区二区 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 高清中文字幕mv的电影 | 国产九色91回来了 | 黄色麻豆视频 | 亚洲美女视频 | 熟妇高潮一区二区高潮 | 超碰狠狠 | 毛片a| 国产理论 | 免费成人美女在线观看. | 麻豆精品视频 | 午夜在线观看视频网站 | 女同性69囗交 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲激情在线播放 | 天天干干天天 | 日韩欧美国产中文字幕 | 一级片免费看视频 | 国产成人无码一区二区在线播放 | 欧美性猛交aaaa片黑人 | 国产www视频 | 18禁肉肉无遮挡无码网站 | 中文字幕av影视 | 国产专区一区 | 美女调教视频 | 欧美图片自拍偷拍 | 一区二区三区四区精品视频 | 男人的天堂av网 | 久久免费视频精品 | 精品无码久久久久久久久 | 福利二区视频 | 乱码av | 丝袜性爱视频 | 97在线免费 | 在线观看av中文字幕 | 欧美美女性生活视频 | 精品一二三 | 国产精品99久久久久久久女警 | 女人裸体无遮挡 | 91一区| 日本精品视频网站 | 国产精品无码999 | 九九免费 | 日韩亚洲在线观看 | 91超碰免费 | 激情综合网五月 | 永久免费未满 | www.av小说| 特级av| 日韩欧美a级片 | 岛国福利视频 | 免费av在线播放网址 | 性欧美丰满熟妇xxxx性仙踪林 | 国产精品入口a级 | 久久精品播放 | 玖玖zyz| 亚洲黄色中文字幕 | 喷潮在线 | 亚洲福利一区二区三区 | 秋霞无码一区二区 | 久久人人插 | 亚洲av日韩av高潮潮喷无码 | 中国zzji女人高潮免费 | 日本在线黄色 | 午夜在线观看视频网站 | 久久精品免费 | 亚洲一区福利视频 | 男生操女生免费网站 | 69日本xxxxxxxxx30 在线波多野结衣 | 欧美一区亚洲一区 | 男生操女生网站 | 自拍偷拍欧美日韩 | 色资源av | 人人爱爱 | 人妻精品久久久久中文字幕 | 日本无翼乌邪恶大全彩h | 美女脱光内衣内裤 | 国产精品电影一区二区三区 | 久久久国产精品黄毛片 | 国产夜夜夜 | 免费精品在线 | 十八禁一区二区三区 | 人碰人人 | 国产免费av一区二区 | 一区二区黄色片 | 日本黄色网络 | 国产黑丝一区 | 林天顾悦瑶笔趣阁 |