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

Python PyQt5整理介紹

 更新時間:2020年04月01日 16:23:22   作者:波斯王  
PyQt5 是Digia的一套Qt5應(yīng)用框架與python的結(jié)合,同時支持2.x和3.x。這篇文章給大家整理了關(guān)于Python PyQt5的相關(guān)知識,感興趣的朋友一起看看吧

PyQt5 是Digia的一套Qt5應(yīng)用框架與python的結(jié)合,同時支持2.x和3.x,官方網(wǎng)站:www.riverbankcomputing.co.uk/news。

PyQt5是由一系列Python模塊組成。超過620個類,6000函數(shù)和方法。能在諸如Unix、Windows和Mac OS等主流操作系統(tǒng)上運行。PyQt5有兩種證書,GPL和商業(yè)證書。

PyQt5類分為很多模塊,主要模塊有:

  • QtCore 包含了核心的非GUI的功能。主要和時間、文件與文件夾、各種數(shù)據(jù)、流、URLs、mime類文件、進程與線程一起使用。
  • QtGui 包含了窗口系統(tǒng)、事件處理、2D圖像、基本繪畫、字體和文字類。
  • QtWidgets
  • QtMultimedia
  • QtBluetooth
  • QtNetwork
  • QtPositioning
  • Enginio
  • QtWebSockets
  • QtWebKit
  • QtWebKitWidgets
  • QtXml
  • QtSvg
  • QtSql
  • QtTest

正文開始

好了,我們開一個新章節(jié),因為我對Gui設(shè)計比其它的熟一點,所以我先來開個Gui設(shè)計的新坑。在這里說明一下。我們使用的是PyQt5,并不是Python自帶的Tkinter。那個我沒那么熟,可以說基本不會。這個欄目我們主要是講PyQt5的基礎(chǔ),至于更多,我覺得大家自己摸索,畢竟難了,我也累,寫多了看不懂。好了,欄目介紹完,現(xiàn)在開始說正式的。

首先因為PyQt5是第三方庫,如果你直接import,那么就會報錯。必須下載,至于怎么下載Python的第三方庫,我在基礎(chǔ)欄目中的Python庫已經(jīng)說過。大家自行翻閱。(還是說一個簡單一點的吧。。。)

在命令提示符/cmd中(Windows系統(tǒng),Linux和蘋果系統(tǒng)抱歉我沒用過,請諒解。)

pip install PyQt5

很簡單吧,如果報錯了,你會看到一大堆紅字,如果末尾是…time out,那么就是中斷了,多試幾次。其它的自行搜索吧,畢竟太多了。我覺得最好還是下載.whl文件。

廢話了這么多,我們先來看一個我最近無聊編的實用工具,界面很簡陋,畢竟我大概只編了幾個小時不到。

import sys,sip
from PyQt5.QtWidgets import QApplication, QWidget,QLabel,QPushButton,QCheckBox, QComboBox,QLineEdit
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt

class Exchange_of_weather_degree_units(QWidget):

 def __init__(self):
  super().__init__()
  self.setting()

 def setting(self):
  self.unit = None

  self.choice = QComboBox(self)
  self.choice.addItem('℃')
  self.choice.addItem('℉')
  self.choice.activated[str].connect(self.choice_)
  self.choice.move(50,15)

  self.number = QLineEdit(self)
  self.number.setPlaceholderText('輸入轉(zhuǎn)化的數(shù)值')
  self.number.move(15,50)

  self.arrowhead = QLabel(self)
  self.arrowhead.setText('——————>')
  self.arrowhead.setFont(QFont('microsoft Yahei', 20))
  self.arrowhead.move(165,20)

  self.result = QLabel(self)
  self.result.setText('       ')
  self.result.setFont(QFont('microsoft Yahei', 15))
  self.result.move(370, 27.5)

  self.yes = QPushButton('確定',self)
  self.yes.clicked.connect(self.yes_)
  self.yes.move(220,50)

  self.setGeometry(300, 100, 520, 100)
  self.setWindowTitle('攝氏度與華氏度的轉(zhuǎn)換')
  self.show()

 def choice_(self,text):
  self.unit = text

 def yes_(self):
  try:
   if self.unit == '℃':
    result_ = eval(self.number.text()) * 1.8 + 32
    self.result.setText(str(result_) + '℉')

   if self.unit == '℉':
    result_ = round((eval(self.number.text()) - 32) / 1.8,6)
    self.result.setText(str(result_) + '℃')

   else:
    result_ = eval(self.number.text()) * 1.8 + 32
    self.result.setText(str(result_) + '℃')
  except:
   self.result.setText('請輸入數(shù)字')
if __name__ == '__main__':
 app = QApplication(sys.argv)
 Ex = Exchange_of_weather_degree_units()
 sys.exit(app.exec_())

這個是華氏度與攝氏度的一個轉(zhuǎn)換小工具,對我來說挺實用。大家不用懂,就復(fù)制過去看看效果就好了。

其實這個里面涉及的知識并不多,所以大家不用怕。因為最基礎(chǔ)的PyQt5框架是這樣的:

import sys
from PyQt5.QtWidgets import QApplication, QWidget
class Example(QWidget):

 def __init__(self):
  super().__init__()
  self.settings()
 def settings(self):
  self.setGeometry(300, 300, 450, 350)
  self.show()

if __name__ == '__main__':
 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())

當然,這只是我覺得的最簡模式,其實可以比這更精簡。不過長度也差不多這樣。所以大家不用害怕。

至于Qt5是什么,大家自行搜索,反正我可以告訴大家,這是一個極為強大與成熟的庫,Qt本身其實也是一個工具。如果要,可以加我QQ。

講了這些,我們現(xiàn)在來分析一下這個框架代碼:

sys庫是一個標準庫:

sys庫的作用:查看python解釋器信息及傳遞信息給python解釋器。
sys.argv:獲取命令行參數(shù)列表,第一個元素是程序本身
sys.exit(n):退出Python程序,exit(0)表示正常退出。當參數(shù)非0時,會引發(fā)一個SystemExit異常,可以在程序中捕獲該異常
sys.version:獲取Python解釋程器的版本信息
sys.maxsize:最大的Int值,64位平臺是2**63 - 1
sys.path:返回模塊的搜索路徑,初始化時使用PYTHONPATH環(huán)境變量的值
sys.platform:返回操作系統(tǒng)平臺名稱
sys.stdin:輸入相關(guān)
sys.stdout:輸出相關(guān)
sys.stderr:錯誤相關(guān)
sys.exc_info():返回異常信息三元元組
sys.getdefaultencoding():獲取系統(tǒng)當前編碼,默認為utf-8
sys.setdefaultencoding():設(shè)置系統(tǒng)的默認編碼
sys.getfilesystemencoding():獲取文件系統(tǒng)使用編碼方式,默認是utf-8
sys.modules #以字典的形式返回所有當前Python環(huán)境中已經(jīng)導入的模塊
sys.builtin_module_names:返回一個列表,包含所有已經(jīng)編譯到Python解釋器里的模塊的名字
sys.copyright:當前Python的版權(quán)信息
sys.flags:命令行標識狀態(tài)信息列表。只讀。
sys.getrefcount(object):返回對象的引用數(shù)量
sys.getrecursionlimit():返回Python最大遞歸深度,默認1000
sys.getsizeof(object[, default]):返回對象的大小
sys.getswitchinterval():返回線程切換時間間隔,默認0.005秒
sys.setswitchinterval(interval):設(shè)置線程切換的時間間隔,單位秒
sys.getwindowsversion():返回當前windwos系統(tǒng)的版本信息
sys.hash_info:返回Python默認的哈希方法的參數(shù)
sys.implementation:當前正在運行的Python解釋器的具體實現(xiàn),比如CPython
sys.thread_info:當前線程信息

這些是有一些是我參考的,不過主要是查看PyQt5庫本身代碼,再翻譯解釋英文的成果。

然后是解包,這個沒問題吧。

然后創(chuàng)建Example庫,繼承了QWidget。
PyQt5有很多模塊,其中QWidget就是一個模塊,它包含了一系列創(chuàng)建桌面應(yīng)用的UI元素。

下面的初始化代碼應(yīng)該沒問題吧。
然后就是這個self.setGeometry(300, 300, 450, 350),這個是設(shè)置窗口與屏幕左上角的距離與長寬。
這個大家改改數(shù)據(jù)就懂了。

然后是self.show(),這個是將界面顯示出來。
最后是運行,if那一個判斷簡單來說是這樣的:
別的文檔調(diào)用你的這個庫時不會執(zhí)行if里的代碼。
然后app那一行大家就是所有的PyQt5應(yīng)用必須創(chuàng)建一個應(yīng)用(Application)對象。sys.argv參數(shù)是一個來自命令行的參數(shù)列表。Python腳本可以在shell中運行。這是我們用來控制我們應(yīng)用啟動的一種方法。

ex是調(diào)用庫,然后首先執(zhí)行__init__的代碼,然后__init__又調(diào)用了settings,所以直接執(zhí)行initUI里的程序。最后退出。

我們再改好看一點。

import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
class Example(QWidget):
 def __init__(self):
  super().__init__()
  self.settings()
  
 def setting(self):
  self.setWindowTitle(sys.argv[0])
  #self.setWindowIcon(QIcon('圖片名.ico')) 自己加圖片
  self.setGeometry(300, 300, 450, 350)
  self.show()

if __name__ == '__main__':
 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())

我們加了兩行,在settings中的第一行,就是設(shè)置標題。第二行大家自行加ico圖片,這樣就會更豐富了。這個方法我就不列出來了,大家自己記住就好。

總結(jié)

到此這篇關(guān)于Python PyQt5整理介紹的文章就介紹到這了,更多相關(guān)Python PyQt5介紹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django中的ORM詳解(最新推薦)

    Django中的ORM詳解(最新推薦)

    Django ORM是一種用于操作數(shù)據(jù)庫的高級工具,它允許開發(fā)者通過Python代碼來管理數(shù)據(jù)庫模型和執(zhí)行查詢,而無需直接編寫SQL語句,ORM的主要優(yōu)勢是提高了開發(fā)效率,但也會犧牲一定的執(zhí)行效率,本文介紹Django的ORM詳解,感興趣的朋友一起看看吧
    2025-03-03
  • numpy按列連接兩個維數(shù)不同的數(shù)組方式

    numpy按列連接兩個維數(shù)不同的數(shù)組方式

    今天小編就為大家分享一篇numpy按列連接兩個維數(shù)不同的數(shù)組方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • pandas.DataFrame 根據(jù)條件新建列并賦值的方法

    pandas.DataFrame 根據(jù)條件新建列并賦值的方法

    下面小編就為大家分享一篇pandas.DataFrame 根據(jù)條件新建列并賦值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 解決python中的冪函數(shù)、指數(shù)函數(shù)問題

    解決python中的冪函數(shù)、指數(shù)函數(shù)問題

    今天小編就為大家分享一篇解決python中的冪函數(shù)、指數(shù)函數(shù)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python 協(xié)程 gevent原理與用法分析

    python 協(xié)程 gevent原理與用法分析

    這篇文章主要介紹了python 協(xié)程 gevent原理與用法,結(jié)合實例形式分析了Python協(xié)程gevent相關(guān)概念、原理、安裝及使用操作技巧,需要的朋友可以參考下
    2019-11-11
  • pycharm將英文設(shè)置為中文的詳細教程

    pycharm將英文設(shè)置為中文的詳細教程

    使用過很多的IDLE程序,這其中最大的問題就是英文版本,初次使用不習慣和英文基礎(chǔ)不好,下面這篇文章主要給大家介紹了關(guān)于pycharm將英文設(shè)置為中文的詳細教程,需要的朋友可以參考下
    2023-05-05
  • python實現(xiàn)字母閃爍效果的示例代碼

    python實現(xiàn)字母閃爍效果的示例代碼

    本文主要介紹了python實現(xiàn)字母閃爍效果的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 關(guān)于Python網(wǎng)絡(luò)爬蟲requests庫的介紹

    關(guān)于Python網(wǎng)絡(luò)爬蟲requests庫的介紹

    這篇文章主要介紹了關(guān)于Python網(wǎng)絡(luò)爬蟲requests庫,而很多時候這些數(shù)據(jù)存儲在網(wǎng)頁中,手動下載需要花費的時間太長,這時候我們就需要網(wǎng)絡(luò)爬蟲幫助我們自動爬取這些數(shù)據(jù),需要的朋友可以參考下
    2023-04-04
  • python 直接賦值和copy的區(qū)別詳解

    python 直接賦值和copy的區(qū)別詳解

    這篇文章主要介紹了python 直接賦值和copy的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python框架中flask知識點總結(jié)

    python框架中flask知識點總結(jié)

    這篇文章給大家分享了關(guān)于學習python框架中flask知識點的總結(jié)內(nèi)容,有興趣的朋友們可以學習下。
    2018-08-08

最新評論

突泉县| 张家界市| 永安市| 莎车县| 平顺县| 晋江市| 临武县| 定远县| 鲜城| 太康县| 珲春市| 观塘区| 色达县| 平阴县| 青冈县| 碌曲县| 长宁县| 盐津县| 淄博市| 那曲县| 连云港市| 凤山市| 车致| 甘孜| 濉溪县| 汝阳县| 凤冈县| 墨脱县| 大同县| 海门市| 双鸭山市| 安国市| 景宁| 乌兰县| 都安| 叙永县| 潮州市| 南丹县| 密山市| 二手房| 佛山市|