中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站加載模式百度廣告太多

網(wǎng)站加載模式,百度廣告太多,企業(yè)網(wǎng)站優(yōu)化徽號(hào)liu7yin出本詞效果抖快均可做a7,怎么樣免費(fèi)創(chuàng)建網(wǎng)站一、引言 這學(xué)期兒子語(yǔ)文期末考試有一道這樣的題目: 這道題答案是B,兒子做錯(cuò)了選了C。我告訴他“車字旁”和“車”的筆順是不一樣的,因?yàn)槎哂幸粋€(gè)筆畫(huà)是不一樣的,“車字旁”下邊那筆是“提”,而“車”字是“橫”&am…

一、引言

這學(xué)期兒子語(yǔ)文期末考試有一道這樣的題目:

這道題答案是B,兒子做錯(cuò)了選了C。我告訴他“車字旁”和“車”的筆順是不一樣的,因?yàn)槎哂幸粋€(gè)筆畫(huà)是不一樣的,“車字旁”下邊那筆是“提”,而“車”字是“橫”,規(guī)律就是先"橫"后“豎”,先“豎”后“提”,類似的還有“牛字旁”和“?!薄?/p>

為了驗(yàn)證我的說(shuō)法,我從網(wǎng)上又查了一下如下圖1和圖2所示。

圖1 “車”和“車子旁”筆順

圖2 “牛”和“牛字旁”和筆順

為了方便查詢每個(gè)字的筆順,我和兒子決定把他所學(xué)過(guò)的生字的筆順GIF動(dòng)圖都保存下來(lái),然后編寫(xiě)一個(gè)小程序,想查哪個(gè)字的時(shí)候一輸入,就可以很快查到,不用再去網(wǎng)上搜索。

兒子最近再學(xué)C++,開(kāi)始想用C++來(lái)編寫(xiě),但是發(fā)現(xiàn)用dev-c編寫(xiě)顯示GIF動(dòng)圖的資料比較少,也比較難實(shí)現(xiàn)。而用python的例子比較多,所以就決定用python來(lái)實(shí)現(xiàn)。經(jīng)過(guò)幾天的努力,基本實(shí)現(xiàn)了最初的基本想法,最終的效果如圖所示。

本程序簡(jiǎn)要說(shuō)明:在文本編輯框中輸入一個(gè)漢字,單擊“查詢”按鈕,如果程序中含有這個(gè)漢字的動(dòng)圖,那么就會(huì)在屏幕中進(jìn)行播放。下邊就把實(shí)現(xiàn)的過(guò)程做個(gè)介紹。

二、Python與?PyCharm

Python是一種腳本語(yǔ)言?。腳本語(yǔ)言(Scripting language)是一種電腦編程語(yǔ)言,通常以簡(jiǎn)單的方式快速完成某些復(fù)雜的事情。Python是一種解釋型的腳本語(yǔ)言,這意味著它的代碼在運(yùn)行之前不需要顯式的編譯步驟,而是通過(guò)解釋器逐行解釋執(zhí)行。Python語(yǔ)言具有易學(xué)易用、開(kāi)發(fā)效率高、運(yùn)行速度快等優(yōu)點(diǎn),因此在數(shù)據(jù)科學(xué)、人工智能、Web開(kāi)發(fā)、游戲開(kāi)發(fā)等領(lǐng)域都有廣泛的應(yīng)用。本文用的python版本是3.12.1。

圖3 python 3.12

?PyCharm?是由JetBrains開(kāi)發(fā)的一個(gè)專門為Python設(shè)計(jì)的IDE,帶有一整套用戶在使用Python語(yǔ)言開(kāi)發(fā)時(shí)提高其效率的工具,比如調(diào)試、語(yǔ)法高亮、項(xiàng)目管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測(cè)試、版本控制。此外,該IDE提供了一些高級(jí)功能,以用于支持Django框架下的專業(yè)Web開(kāi)發(fā)。它支持多種Python版本,包括Python 3.5及更高版本。本文用的pycharm版本是2024.1.1。

圖4 pycharm 2024.1.1

在使用PyCharm進(jìn)行Python開(kāi)發(fā)時(shí),需要配置Python環(huán)境,以便PyCharm能夠找到Python解釋器并執(zhí)行Python代碼。PyCharm支持Python 2.x和Python 3.x版本,用戶可以根據(jù)自己的需要選擇不同的Python版本進(jìn)行開(kāi)發(fā)。此外,PyCharm還提供了豐富的插件和擴(kuò)展,幫助用戶增強(qiáng)開(kāi)發(fā)體驗(yàn)和提高開(kāi)發(fā)效率。

三、PySide6及其自帶的designer

PySide6是Qt for Python的一部分,是一個(gè)Python綁定庫(kù),用于創(chuàng)建跨平臺(tái)的GUI應(yīng)用程序。PySide6是QT company官方維護(hù)的項(xiàng)目,支持LGPL協(xié)議,適用于開(kāi)源和商業(yè)用途?。PySide6自帶了一個(gè)可以手動(dòng)設(shè)計(jì)UI的designer,方便設(shè)計(jì),并且可以直觀看到界面的最終效果。一般的UI設(shè)計(jì),是先用designer設(shè)計(jì)出界面,然后再把UI轉(zhuǎn)成python語(yǔ)言格式,用pycharm平臺(tái)進(jìn)行功能代碼的編寫(xiě)。

本文默認(rèn)pycharm和python已經(jīng)安裝完成,從安裝PySide6開(kāi)始介紹。

pip install PySide6 -i https://pypi.tuna.tsinghua.edu.cn/simple

下載的目錄默認(rèn)在python安裝的目錄下的\Lib\site-packages\PySide6文件夾內(nèi)。

找到PySide6安裝目錄,打開(kāi)designer應(yīng)用程序,如圖5所示。

圖5 designer位置

四、程序?qū)崿F(xiàn)步驟

4.1 創(chuàng)建pycharm工程文件

打開(kāi)pycharm軟件,如果是第一次使用,那么界面如下圖所示。操作步驟如下:

單擊“New Project”,如圖6所示。

圖6 pycharm初始界面

在圖所示的頁(yè)面中填入工程名稱(Name),本例的名稱為“mystroke”,選擇工程存放的地址(Location),并選擇python版本,然后點(diǎn)“Create”按鈕,如圖7所示。

圖7 創(chuàng)建新工程

創(chuàng)建好的工程如圖8所示。

圖8 工程創(chuàng)建完成

4.2 UI設(shè)計(jì)步驟

UI設(shè)計(jì)使用PySide6自帶的designer。

4.2.1在pycharm中引入designer做為外部工具

第一步:在菜單“File”中選擇“Settings”選項(xiàng),如圖9所示。

圖9? 選擇Settings

第二步:在“Settings”頁(yè)面中,選擇“Tools”項(xiàng)目下的“External Tools”選項(xiàng),點(diǎn)右側(cè)列表左上角的“+”號(hào),添加外部工具,如圖10所示。

圖10 選擇External Tools

第三步:在Create Tool對(duì)話框中,填好外部程序的名稱(Name),選擇外部程序pyside6下的designer.exe的所在位置(Program),然后單擊“OK”按鈕,如圖11所示。注意,一定要先填名字后選程序位置,名字可以隨便取。

圖11? 添加designer外部工具

此時(shí),在External Tools的列表框中出現(xiàn)了剛剛添加的Pyside6Designer。

第四步:在pycharm中打開(kāi)Pyside6Designer。在“Tools”菜單中,選擇“External Tools”下的Pyside6Designer,即可打開(kāi)Designer,如圖12所示。

圖12 打開(kāi)designer

4.2.1 利用designer設(shè)計(jì)UI

第一步:創(chuàng)建窗體。打開(kāi)designer后,選擇“Main Window”,然后單擊“創(chuàng)建”,如圖13所示。

圖13? 選擇Main Window

第二步:在窗體上添加一個(gè)文本編輯框。在頁(yè)面左側(cè)“窗口部件盒”中選擇Line Edit對(duì)象,并拖動(dòng)到窗體上,如圖14所示。

圖14? 添加文本編輯框

第三步:在窗體上添加一個(gè)按鈕。在頁(yè)面左側(cè)“窗口部件盒”中選擇Push Button對(duì)象,并拖動(dòng)到窗體上,如圖15所示。

圖15? 添加按鈕

第四步:在窗體上添加一個(gè)動(dòng)圖顯示框。在頁(yè)面左側(cè)“窗口部件盒”中選擇Label對(duì)象,并拖動(dòng)到窗體上,如圖16所示。

圖16? 添加label對(duì)象

第五步:在右側(cè)對(duì)象檢查器中查看三個(gè)對(duì)象的名稱,圖中紅框中第一列是對(duì)象名字,第二列是所屬類名,如圖17所示。

圖17? 對(duì)象列表

第六步:修改lineEdit的初始顯示內(nèi)容。在窗體上選中l(wèi)ineEdit對(duì)象,在右側(cè)屬性編輯器中text屬性后的內(nèi)容修改為“請(qǐng)輸入要查詢的字”,如圖18所示。

圖18? 設(shè)置文本編輯框初始顯示內(nèi)容

第七步:選中pushButton,text屬性修改為“查詢”,如圖19所示。

圖19? 設(shè)置按鈕顯示文字

第八步:清空l(shuí)abel的text屬性內(nèi)容,如圖20所示。因?yàn)榫W(wǎng)上下載的字筆順動(dòng)圖的像素是600*600的,所以label的外框要拉大一些,然不然字的筆順動(dòng)圖顯示不全。

圖20? 清空l(shuí)abel初始顯示內(nèi)容

第九步:把設(shè)計(jì)好的UI保存到pycharm創(chuàng)建的工程mystroke的目錄下,UI的名稱為mystroke_ui,如圖21所示。

圖21? 保存UI到pycharm工程目錄

4.3?準(zhǔn)備字筆順動(dòng)圖

在mystroke的工程目錄下新建一個(gè)gif文件夾,如圖22所示。

圖22? 在工程目錄下創(chuàng)建gif文件夾

從網(wǎng)上搜索“爸筆順”,找到爸字的筆順動(dòng)圖,然后在動(dòng)圖上鼠標(biāo)右鍵“將圖像另存為”,然后把動(dòng)圖存放到gif文件夾內(nèi),如圖23所示。

圖23? 下載漢字對(duì)應(yīng)的筆順動(dòng)圖

4.4 編寫(xiě)python代碼

4.4.1 為pycharm工程文件添加python程序

在pycharm的mystroke工程名字上右鍵單擊,在彈出菜單中選擇“New”——"Python File",如圖24所示。

圖24? 給pycharm工程添加python程序

在New Python file對(duì)話框中輸入python程序名稱為“mystroke”,文件類型選擇“Python file”,然后按回車鍵,完成新建mystroke.py文件,如圖25所示。

圖25? 確定程序名稱和類型

完成新建后的頁(yè)面如圖26所示。

圖26? 添加python程序完成

4.4.2 編寫(xiě)mystroke.py代碼

在新建的mystroke.py文件中輸入以下代碼:

import sys
from PySide6.QtCore import QFile, QIODevice, Slot
from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QApplication, QMainWindow, QMessageBox, QPushButton, QTextBrowser
from PySide6.QtGui import QMovie# 定義主窗口類
class MainWindow(QMainWindow):def __init__(self):super().__init__()# 加載UI文件loader = QUiLoader()ui_file = QFile("mystroke_ui.ui")if not ui_file.open(QIODevice.ReadOnly):print("無(wú)法打開(kāi)UI文件")sys.exit(-1)# 加載UI文件并實(shí)例化為窗口對(duì)象self.window = loader.load(ui_file)# 關(guān)閉UI文件ui_file.close()# 獲取UI文件中的小部件對(duì)象self.button1 = self.window.findChild(QPushButton, "pushButton")self.lineEdit = self.window.findChild(QLineEdit, "lineEdit")self.label = self.window.findChild(QLabel, "label")# 連接信號(hào)和槽self.button1.clicked.connect(self.bt_transmit_click)# 按鈕點(diǎn)擊事件處理函數(shù)@Slot()def bt_transmit_click(self):#創(chuàng)建一個(gè)movie對(duì)象,用于播放GIF動(dòng)圖self.movie = QMovie("./gif/"+self.lineEdit.text()+".gif")#在label中設(shè)置movieself.label.setMovie(self.movie)#播放movieself.movie.start()# 主程序
if __name__ == "__main__":# 創(chuàng)建一個(gè)QApplication對(duì)象,它是PySide6應(yīng)用程序的核心,負(fù)責(zé)處理事件和管理應(yīng)用程序的生命周期。app = QApplication([])# 創(chuàng)建一個(gè)MainWindow對(duì)象,即主窗口類的實(shí)例。main_window = MainWindow()# 調(diào)用主窗口對(duì)象的show()方法,將主窗口顯示在屏幕上。main_window.window.show()# 啟動(dòng)應(yīng)用程序的事件循環(huán),使得應(yīng)用程序能夠響應(yīng)用戶的輸入和系統(tǒng)事件,保持運(yùn)行狀態(tài)。app.exec()

4.4.2 mystroke.py核心代碼的解讀

第一部分:加載UI程序段。UI文件的加載程序如下所示,把用pyside6 designer設(shè)計(jì)的界面“mystroke_ui”加載到python程序中來(lái),然后把原UI文件關(guān)閉。

    # 加載UI文件loader = QUiLoader()ui_file = QFile("mystroke_ui.ui")if not ui_file.open(QIODevice.ReadOnly):print("無(wú)法打開(kāi)UI文件")sys.exit(-1)# 加載UI文件并實(shí)例化為窗口對(duì)象self.window = loader.load(ui_file)# 關(guān)閉UI文件ui_file.close()

第二部分:獲取UI中控件對(duì)象程序段。獲取UI中控件對(duì)象的方法為self.window.findChild?,該方法是一個(gè)在 PySide6 中用于查找窗口子部件的方法,它的基本語(yǔ)法是:

childObject = self.window.findChild(class_type, name)

該方法有兩個(gè)參數(shù),第一個(gè)參數(shù)是部件的類型,第二個(gè)參數(shù)是UI上部件的名稱。

本文UI上一共有三個(gè)部件:一個(gè)pushButton,一個(gè)lineEdit,一個(gè)label,獲取的代碼如下:

    # 獲取UI文件中的小部件對(duì)象self.button1 = self.window.findChild(QPushButton, "pushButton")self.lineEdit = self.window.findChild(QLineEdit, "lineEdit")self.label = self.window.findChild(QLabel, "label")

第三部分:信號(hào)和槽綁定程序段

PySide6中的信號(hào)和槽機(jī)制是一種用于對(duì)象間通信的機(jī)制。信號(hào)(Signal)是在特定事件發(fā)生時(shí)由對(duì)象發(fā)出的消息,而槽(Slot)是用于接收并處理這些信號(hào)的函數(shù)。信號(hào)和槽機(jī)制允許對(duì)象在事件發(fā)生時(shí)進(jìn)行交互,而不必了解彼此的具體實(shí)現(xiàn),從而實(shí)現(xiàn)了低耦合的通信方式。

本例的信號(hào)和信號(hào)接收槽各有一個(gè),信號(hào)就是單擊pushButton,槽里的接收函數(shù)也只有一個(gè)。信號(hào)和槽函數(shù)綁定的程序如下圖所示。

 # 連接信號(hào)和槽self.button1.clicked.connect(self.bt_transmit_click)

第四部分:槽函數(shù)程序段

槽函數(shù)bt_transmit_click(self)函數(shù)體一共有三行,如圖所示。

    # 按鈕點(diǎn)擊事件處理函數(shù)@Slot()def bt_transmit_click(self):#創(chuàng)建一個(gè)movie對(duì)象,用于播放GIF動(dòng)圖self.movie = QMovie("./gif/"+self.lineEdit.text()+".gif")#在label中設(shè)置movieself.label.setMovie(self.movie)#播放movieself.movie.start()

第一行,給movie設(shè)置了GIF動(dòng)圖的地址,這個(gè)地址是各字符串形式,由三部分拼接而成。第一部分“./gif/”是指明動(dòng)圖的存放文件夾為“gif”;第二部分self.lineEdit.text(),是取編輯框內(nèi)文字,也就是動(dòng)圖的名稱;第三部分是動(dòng)圖的后綴".gif"。

第二行,使用?setMovie?方法將?QMovie?對(duì)象設(shè)置到?QLabel?上。

第三行,播放movie,也就是播放GIF動(dòng)圖。

(本文結(jié)束)

http://www.risenshineclean.com/news/23112.html

相關(guān)文章:

  • 最值錢的域名列表谷歌seo搜索引擎
  • 設(shè)計(jì)一個(gè)完整的靜態(tài)網(wǎng)站漣源網(wǎng)站seo
  • 建站科技公司免費(fèi)發(fā)廣告的軟件
  • 平面設(shè)計(jì)培訓(xùn)班價(jià)格百度seo公司報(bào)價(jià)
  • 幼兒園主題網(wǎng)絡(luò)圖設(shè)計(jì)ppt模板惠州seo優(yōu)化服務(wù)
  • wordpress中英文網(wǎng)站什么平臺(tái)推廣效果最好
  • 手機(jī)兼職的正規(guī)平臺(tái)有哪些如何優(yōu)化網(wǎng)站排名
  • 俄語(yǔ)網(wǎng)站建設(shè)學(xué)電商哪個(gè)培訓(xùn)學(xué)校好
  • 如何創(chuàng)立個(gè)人網(wǎng)站網(wǎng)站收錄怎么弄
  • 企業(yè)網(wǎng)站 wordpress網(wǎng)頁(yè)代碼模板
  • ps模板下載網(wǎng)站新網(wǎng)站秒收錄技術(shù)
  • 網(wǎng)站建設(shè)的主要職責(zé)免費(fèi)網(wǎng)站免費(fèi)
  • 建網(wǎng)站wordpress女生學(xué)網(wǎng)絡(luò)營(yíng)銷這個(gè)專業(yè)好嗎
  • 國(guó)家攝影網(wǎng)站百度發(fā)布信息怎么弄
  • 讓別人做網(wǎng)站需要提供什么長(zhǎng)沙網(wǎng)絡(luò)公關(guān)公司
  • 營(yíng)銷型網(wǎng)站有哪些特點(diǎn)外貿(mào)網(wǎng)站建設(shè) google
  • 網(wǎng)站做數(shù)據(jù)監(jiān)測(cè)寧波網(wǎng)站推廣排名
  • 校園網(wǎng)站設(shè)計(jì)外貿(mào)接單十大網(wǎng)站
  • 嗶哩網(wǎng)站開(kāi)發(fā)需求分析模板網(wǎng)上推廣
  • 創(chuàng)業(yè)做招聘網(wǎng)站靠譜嗎seo研究協(xié)會(huì)網(wǎng)app
  • 網(wǎng)上招聘網(wǎng)站開(kāi)發(fā)報(bào)告中國(guó)企業(yè)網(wǎng)
  • 幫忙做公司網(wǎng)站seo專員簡(jiǎn)歷
  • 仿新浪微博網(wǎng)站代碼推廣資源網(wǎng)
  • 怎么做祝福網(wǎng)站新手怎么做網(wǎng)絡(luò)推廣
  • PHP做網(wǎng)站案例教程軟文代寫(xiě)文案
  • 賀州網(wǎng)站建設(shè)品牌推廣活動(dòng)方案
  • 做外國(guó)網(wǎng)用哪些網(wǎng)站小廣告網(wǎng)頁(yè)
  • dede 企業(yè)網(wǎng)站模板下載如何優(yōu)化
  • 如何ps做網(wǎng)站首頁(yè)寧波seo優(yōu)化項(xiàng)目
  • ios網(wǎng)站開(kāi)發(fā)工具有哪些怎么做網(wǎng)址