天天看點

python界面設計資源庫_python GUI庫圖形界面開發之PyQt5 Qt Designer工具(Qt設計師)詳細使用方法及Designer ui檔案轉py檔案方法...

PyQt5 Qt Designer (Qt設計師)

PyQt5是對Qt所有類進行封裝, Qt能開發的東西, PyQt都能開發.

Qt是強大的GUI庫之一, 用C++開發, 并且跨平台.

PyQt雙許可證, 要麼選擇GPL(自由軟體協定)将代碼開源, 要麼選擇商業許可交商業許可費.

PySide擁有LGPL 2.1授權許可, 可開發 免費開源軟體 和 私有商業軟體. 把PyQt5代碼切換到PySide2代碼是相當容易的, 這也是為什麼選擇學習PyQt5的原因

準備工作

安裝PyQt5:pip install pyqt5

安裝Qt工具: pip install pyqt5-tools

配置Qt工具系統環境變量: Path=C:\Code\Python_Vir\python1\Lib\site-packages\pyqt5_tools

Qt Designer (Qt設計師)

強大的可視化GUI設計工具, 幫助我們快速開發PyQt.

它生成UI界面為.ui檔案, 通過指令将.ui轉為.py檔案.

1.啟動Qt Designer

執行指令designer, 便會彈出以下界面

python界面設計資源庫_python GUI庫圖形界面開發之PyQt5 Qt Designer工具(Qt設計師)詳細使用方法及Designer ui檔案轉py檔案方法...

最常用的就是建立 Widget(通用視窗) 和 MainWindow(主視窗), 這裡我們建立一個 MainWindow.

下面簡單介紹下主要功能:

python界面設計資源庫_python GUI庫圖形界面開發之PyQt5 Qt Designer工具(Qt設計師)詳細使用方法及Designer ui檔案轉py檔案方法...

檔案儲存為xxx.ui檔案, 可以用文本及編輯打開編輯, 其資料是XML格式的.

2.将xxx.ui檔案轉為xxx.py檔案

通過以下指令行執行, 即可生成 designer_demo.py 檔案

pyuic5 -o designer_demo.py designer_demo.ui

3.運作布局檔案

導入并繼承它

from designer_demo import Ui_MainWindow

class MyDesiger(QMainWindow, Ui_MainWindow):

編寫以下代碼, 放在designer_demo.py同檔案夾下, 運作即可

import sys

from PyQt5.QtWidgets import QMainWindow, QApplication

from designer_demo import Ui_MainWindow

class MyDesiger(QMainWindow, Ui_MainWindow):

def __init__(self, parent=None):

super(MyDesiger, self).__init__(parent)

self.setupUi(self)

if __name__ == "__main__":

app = QApplication(sys.argv)

ui = MyDesiger()

ui.show()

sys.exit(app.exec_())

控件箱簡介

Layouts 布局 (選中控件 -> Lay out(右鍵) -> 選擇布局)

Vertical Layout: 垂直布局

Horizontal Layout: 水準布局

Grid Layout: 網格布局 (劃分為 行 和 列)

Form Layout: 表單布局 (左列标簽, 右列控件)

Containers 容器

Group Box

Scroll Area

Tool Box

Tab Widge

Stacked Widget

Frame: 幀容器, 可放入布局 / 控件等

Widget: 視窗容器

MDI Area

Dock Widget

Item Widgets 條目控件

List Widget: 清單條目

Tree Widget: 樹形條目

Table Widget: 标簽頁條目

Spacers 間隔(透明)

Horizontal Spacer: 水準間隔

Vertical Spacer: 垂直間隔

Buttons 按鈕

Push Button: 按鈕

Tool Button: 工具箱按鈕 (…)

Radio Button: 單選框

Check Box: 多選框

Command Link Button:

Dialog Button Box: Dialog 按鈕 (ok | cancel)

Input Widgets 輸入控件

Combo Box: 下拉框

Font Combo Box: 字型下拉框

Line Edit: 行文本編輯框

Text Edit: 文本編輯框

Plain Text Edit: 文本編輯框

Spin Box: 選擇整數值

Double Spin Box: 選擇浮點數值

Time Edit: 時間選擇框

Data Edit: 日期選擇框

Data/Time Edit: 日期 時間 選擇框

Dial: 圓形滾動表盤

Horizontal Scroll Bar: 水準滾動條

Vertical Scroll Bar: 垂直滾動條

Horizontal Slider: 水準拖動條

Vertical Slider: 垂直拖動條

Key Sequence Edit: 按鍵編輯框

Display Widgets 顯示控件

Label: 标簽 (顯示文字 / 圖檔等)

Text Browser: 文本浏覽(不可編輯)

Graphics View: 繪畫

Calendar Widget: 月曆

LCD Number: LCD數字顯示屏

Progress Bar: 進度條

Horizontal Line: 水準線

Vertical Line: 垂直線

OpenGL Widget: OpenGl

控件屬性簡介

objectName: 控件對象名

geometry: 相對坐标(px) x,y,width,height

sizePolicy: 控件大小政策

Fixed: 控件有 sizeHint 尺寸且尺寸不變

Minimum: 控件有 sizeHint 最小尺寸, 尺寸可變大

Maximum: 控件有 sizeHint 最大尺寸, 尺寸可變小

Preferred: 控件有 sizeHint 期望尺寸, 有minisizeHint最小尺寸, 尺寸可變大

Expanding: 控件有 minisizeHint 最小尺寸, 希望更大尺寸

MinimumExpanding: 控件有 sizeHint 最小尺寸, 希望更大磁村

Ignored: 無視 sizeHint 和 minisizeHint, 按預設設定

minimumSize: 最小尺寸

maximumSize: 最大尺寸 (固定尺寸: minimumSize=maximumSize)

font: 字型

cursor: 光标

windowTitle: 視窗标題

WindowsIcon: 視窗圖示

iconSize: 圖示大小

toolTip: 提示泡提示資訊

statusTip: 狀态欄提示資訊

text: 控件文本

shortcut: 快捷鍵

horizontalSpacer: 水準間距

信号(signal)和槽(slot)

PyQt5處理事件有個signal and slot機制, 事件觸發産生信号(signal), 當信号發送(emit())時, 連接配接的槽(slot)便會執行.

信号與槽的連接配接

sender.signal.connect(receiver.slot)

# 例子

btn.clicked.connect(self.buttonClicked)

快速連接配接夥伴 (信号槽)

按F4選擇 Edit Signal/Slot 模式 -> 滑鼠按住控件1拖拽到控件2上松開 -> 彈出對話框, 選擇兩邊連接配接事件 -> ok -> 按F3切換回 Edit Widgets 模式

示範:

python界面設計資源庫_python GUI庫圖形界面開發之PyQt5 Qt Designer工具(Qt設計師)詳細使用方法及Designer ui檔案轉py檔案方法...

菜單欄

菜單欄通過輕按兩下 Type Here 添加一級菜單(File), 點開一級菜單輕按兩下 Type Here 添加動作(New File), 若點了後面的+, 并添加動作(Text File), 則動作(New File)将變成子菜單.

python界面設計資源庫_python GUI庫圖形界面開發之PyQt5 Qt Designer工具(Qt設計師)詳細使用方法及Designer ui檔案轉py檔案方法...

并且我們可以在 動作編輯器 裡修改 菜單裡的動作

python界面設計資源庫_python GUI庫圖形界面開發之PyQt5 Qt Designer工具(Qt設計師)詳細使用方法及Designer ui檔案轉py檔案方法...

加載資源檔案

1.加載資源

python界面設計資源庫_python GUI庫圖形界面開發之PyQt5 Qt Designer工具(Qt設計師)詳細使用方法及Designer ui檔案轉py檔案方法...

2.使用資源

把Label控件拖到視窗上 -> 屬性設定pixmap

3.編譯成可執行代碼

除了需要把.ui檔案轉成.py檔案外, 還需要把.qrc檔案轉成.py檔案

pyrcc5 app.qrc -o app.py

代碼處理

import app

self.label.setPixmap(QtGui.QPixmap(":/pic/designer1.png"))

本文簡單介紹了PyQt5 Qt Designer (Qt設計師)的使用方法,更多關于PyQt5 Qt Designer (Qt設計師)的使用方法請檢視下面的相關連結