PyQt 5的基本功能

PyQt5經常使用的模塊

PyQt5的類別分爲幾個模塊,包括:python

QtCore:包含非核心的GUI功能,此模塊用於處理時間、文件和目錄、各類數據類型、流、URL、MIME類型、線程或進程web

QtGui:包括窗口系統集成、事件處理、二維圖形、基本成像、字體和文本數據庫

QtWidgets:基本控件都位於pyqt5.qtwidgets模塊中,模塊包含創造經典桌面風格的用戶界面提供了一套UI元素的類編程

QtMultimedia:包括的類來處理多媒體內容和API來訪問相機和錄音機的功能瀏覽器

Qtbluetooth:模塊包含類的掃描設備和鏈接並與他們互動。描述模塊包含了網絡編程的類。這些類便於TCP和IP和UDP客戶端和服務器的編碼,使網絡編程更容易和更便攜。
Qtpositioning:包含類的利用各類可能的來源,肯定位置,包括衛星、Wi-Fi、或一個文本文件。
Enginio:模塊實現了客戶端庫訪問Qt雲服務託管的應用程序運行時。
Qtwebsockets:模塊包含實現WebSocket協議類。
QtWebKit:包含一個基於Webkit2圖書館Web瀏覽器實現類。
Qtwebkitwidgets:包含的類的基礎webkit1一用於qtwidgets應用Web瀏覽器的實現。
QtXml:包含與XML文件的類。這個模塊爲SAX和DOM API提供了實現。
QtSvg:模塊提供了顯示SVG文件內容的類。可伸縮矢量圖形(SVG)是一種描述二維圖形和圖形應用的語言。
QtSql:模塊提供操做數據庫的類。
QtTest:包含的功能,使pyqt5應用程序的單元測試
服務器

PyQt5經常使用的模塊函數

app = QApplication(sys.argv)  websocket

# 每個pyqt5應用程序必須建立一個應用程序的對象,網絡

# sys.argv參數是一個列表,從命令行輸入參數app

# 所以在函數開始,要導入QApplication,from PyQt5.QtWidgets import QApplication框架

w = QWidget()

# 創鍵窗口實例

# QWidget是一套用戶界面的類

# 在開始要要導入QWidget,from PyQt5.QtWidgets import QWidget

w.resize(800,150)

# resize()方法調整窗口的大小,單位像素,原點在窗口的左上角頂點

w.move(800,400)

# move()方法移動窗口在屏幕的位置,單位像素,原點左邊在屏幕的左上角頂點

w.setWindowTitle("我是窗口標題")

# 設置窗口標題

w.show()

# 顯示在屏幕上

sys.exit(app.exec_())

# exit()方法保證程序乾淨退出,加下劃線是由於exec是一個python關鍵詞,因此用exec_()代替

PyQt5都會使用下列OOP面向對象編程的框架

import sys
from PyQt5.QtWidgets import QApplication, QWidget
class mywindow(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()    # 界面交給initUI方法
    def initUI(self):
        ....
        ...
        ...
if __name__ == '__main__':
    app = QApplication(sys.argv)    # 建立應用程序對象
    ex = mywindow()
    ex.show()
    sys.exit(app.exec_())

self.setGeometry(800, 400, 200, 200)

# 設置窗口的位置大小

self.setWindowIcon(QIcon('web.png'))

# 在函數開頭要導入from PyQt5.QtGui import QIcon

# 設置窗口的圖標,引用當前目錄下的web.png圖片

QToolTip.setFont(QFont('Time New Roman',10))

# 工具提示要導入from PyQt5.QtWidgets import QToolTip

# 字體要導入from PyQt5.QtGui import QFont

# 設置工具提示的字體,這裏設置成Time New Roman,10號字體

self.setToolTip('This is a <b>QWidget</b> widget')

# 建立一個提示,使用setToolTip()方法,<b>title</b>,title會被加粗

btn = QPushButton('Button',self)

btn.setToolTip('This is a <b>QPushButton</b> widget')

# 建立一個按鈕QPushButton,並命名爲Button

# 將他設置工具提示settooltip

btn.resize(btn.sizeHint())

# 將按鈕設置爲默認尺寸btn.sizeHint()

btn.clicked.connect(QCoreApplication.instance().quit)

# 綁定按鈕事件爲quit退出

def closeEvent(self, event):
    reply = QMessageBox.question(self, 'Message',"Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
    if reply == QMessageBox.Yes:
        event.accept()  # 贊成even請求
    else:
        event.ignore()  #忽略事件

# 要導入from PyQt5.QtWidgets import QMessageBox

# 關閉窗口會觸發QCloseEvent,重寫QWidget類中的closeEvent關閉窗口函數

# 第一個字符串爲窗口標題。第二個字符串消息對話框中顯示的文本。第三個參數指定按鈕的組合出如今對話框中。最後一個參數是默認按鈕,這個是默認的按鈕焦點

# 最後處理返回值,若是點擊yes按鈕,關閉小部件並終止應用程序,不然咱們忽略關閉事件

# 控制窗口顯示在屏幕中心的方法
# 得到窗口
def center(self):
    qr = self.frameGeometry()   # 得到屏幕中心點
    cp = QDesktopWidget().availableGeometry().center()  # 顯示到屏幕中心
    qr.moveCenter(cp)
    self.move(qr.topLeft())

# 要導入from PyQt5.QtWidgets import QDesktopWidget

# QtGui,QDesktopWidget類提供了用戶的桌面信息,包括屏幕大小。

相關文章
相關標籤/搜索