Python PyQT5的入門使用

Freedom_eagle發表於2019-07-16

Python 3+ PyQT5的入門使用

視窗型別介紹

QMainWindow,QWidget和QDialog都是用來建立視窗的.可以直接使用也可以繼承後再使用.

  1. QMainWindow
    該類視窗可以包括選單欄,工具欄,狀態列,標題欄等,是最常見的視窗形式,也是GUI程式的主視窗.
  2. QWidget
    該類視窗比較通用,它可以作為頂層視窗(作父視窗),也可以嵌入到其他視窗(作子視窗).如果不確定視窗的定位,就可以使用該類視窗.為什麼這個類這麼通用呢?是因為QWidget是所有使用者介面物件的基類.所有視窗和控制元件都直接或者間接繼承QWidget類.
  3. QDialog
    該類視窗是對話方塊視窗基類.主要用於執行短期任務,或者與使用者進行互動.它可以是模態的,也可以是非模態的.該類視窗沒有選單欄,工具欄和狀態列等.

建立主視窗

  • 沒有父視窗的視窗就是頂層視窗(個人理解:根視窗)
  • 在PyQT中,QMainWindow視窗中會有一個控制元件(QWidget),它是用來佔位置的,佔據著中心視窗.可以使用setCentralWidget()來設定中心視窗.
    這裡是圖片(暫時沒有寫入圖片地址)
  • 注意QMainWindow不能設定佈局(使用setLayout()方法),因為它有自己的佈局.

QMainWindow類中常用的方法

方法 描述
addToolBar() 新增工具欄
centralWidget() 返回視窗中心的一個控制元件,未設定的時候返回null
menuBar() 返回主視窗的選單欄
setCentralWidget() 設定視窗中心的控制元件
setStatusBar() 設定狀態列
statusBar() 獲得狀態列物件後,呼叫狀態列物件的
showMessage(message,int timeout=0)方法顯示狀態列資訊.
第一個引數是顯示狀態列的資訊;第二個引數是資訊停留時間,
單位是毫秒,預設是0,表示一直顯示狀態列資訊.


建立一個簡單的主視窗

import sys
from PyQt5.QtWidgets import QMainWindow,QApplication
class MainWindow(QMainWindow):
    def __init__(self,parent=None):
        super(MainWindow,self).__init__(parent)
        self.resize(400,200) # 設定視窗的大小
        self.status = self.statusBar() # 例項化狀態列
        self.status.showMessage("這是狀態列顯示",5000) # 顯示狀態列資訊
        self.setWindowTitle("PyQt簡單的主視窗") # 設定視窗的標題
if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = MainWindow()  # 例項化物件
    form.show() # 顯示視窗
    sys.exit(app.exec_())


視窗全屏/最大化/最小化

待續...

相關文章