欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python GUI庫圖形界面開發(fā)之PyQt5 Qt Designer工具(Qt設(shè)計師)詳細使用方法及Designer ui文件轉(zhuǎn)py文件方法

 更新時間:2020年02月26日 14:50:05   作者:LZ_Luzhuo  
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5 Qt Designer工具(Qt設(shè)計師)詳細使用方法及Designer ui文件轉(zhuǎn)py文件方法,需要的朋友可以參考下

PyQt5 Qt Designer (Qt設(shè)計師)

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

Qt是強大的GUI庫之一, 用C++開發(fā), 并且跨平臺.

PyQt雙許可證, 要么選擇GPL(自由軟件協(xié)議)將代碼開源, 要么選擇商業(yè)許可交商業(yè)許可費.

PySide擁有LGPL 2.1授權(quán)許可, 可開發(fā) 免費開源軟件 和 私有商業(yè)軟件. 把PyQt5代碼切換到PySide2代碼是相當容易的, 這也是為什么選擇學(xué)習(xí)PyQt5的原因

準備工作

  1. 安裝PyQt5: pip install pyqt5
  2. 安裝Qt工具: pip install pyqt5-tools
  3. 配置Qt工具系統(tǒng)環(huán)境變量: Path=C:\Code\Python_Vir\python1\Lib\site-packages\pyqt5_tools

Qt Designer (Qt設(shè)計師)

強大的可視化GUI設(shè)計工具, 幫助我們快速開發(fā)PyQt.

它生成UI界面為.ui文件, 通過命令將.ui轉(zhuǎn)為.py文件.

1.啟動Qt Designer

執(zhí)行命令designer, 便會彈出以下界面

最常用的就是創(chuàng)建 Widget(通用窗口) 和 MainWindow(主窗口), 這里我們創(chuàng)建一個 MainWindow.

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

文件保存為xxx.ui文件, 可以用文本及編輯打開編輯, 其數(shù)據(jù)是XML格式的.

2.將xxx.ui文件轉(zhuǎn)為xxx.py文件

通過以下命令行執(zhí)行, 即可生成 designer_demo.py 文件

pyuic5 -o designer_demo.py designer_demo.ui

3.運行布局文件

導(dǎo)入并繼承它

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: 網(wǎng)格布局 (劃分為 行 和 列)
  • 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: 選擇整數(shù)值
  • Double Spin Box: 選擇浮點數(shù)值
  • 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數(shù)字顯示屏
  • 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, 按默認設(shè)置

minimumSize: 最小尺寸

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

font: 字體

cursor: 光標

windowTitle: 窗口標題

WindowsIcon: 窗口圖標

iconSize: 圖標大小

toolTip: 提示泡提示信息

statusTip: 狀態(tài)欄提示信息

text: 控件文本

shortcut: 快捷鍵

horizontalSpacer: 水平間距

信號(signal)和槽(slot)

PyQt5處理事件有個signal and slot機制, 事件觸發(fā)產(chǎn)生信號(signal), 當信號發(fā)送(emit())時, 連接的槽(slot)便會執(zhí)行.

信號與槽的連接

sender.signal.connect(receiver.slot)

# 例子
btn.clicked.connect(self.buttonClicked)

快速連接伙伴 (信號槽)

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

演示:

菜單欄

菜單欄通過雙擊 Type Here 添加一級菜單(File), 點開一級菜單雙擊 Type Here 添加動作(New File), 若點了后面的+, 并添加動作(Text File), 則動作(New File)將變成子菜單.

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

加載資源文件

1.加載資源

2.使用資源

把Label控件拖到窗口上 -> 屬性設(shè)置pixmap

3.編譯成可執(zhí)行代碼

除了需要把.ui文件轉(zhuǎn)成.py文件外, 還需要把.qrc文件轉(zhuǎn)成.py文件

pyrcc5 app.qrc -o app.py

代碼處理

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

本文簡單介紹了PyQt5 Qt Designer (Qt設(shè)計師)的使用方法,更多關(guān)于PyQt5 Qt Designer (Qt設(shè)計師)的使用方法請查看下面的相關(guān)鏈接

相關(guān)文章

  • 詳解如何在PyQt5中實現(xiàn)平滑滾動的QScrollArea

    詳解如何在PyQt5中實現(xiàn)平滑滾動的QScrollArea

    Qt 自帶的 QScrollArea 滾動時只能在兩個像素節(jié)點之間跳變,看起來很突兀。所以本文將通過定時器,重寫 wheelEvent() 來實現(xiàn)平滑滾動,需要的可以參考一下
    2023-01-01
  • python-docx文件路徑問題的解決方案

    python-docx文件路徑問題的解決方案

    這篇文章主要介紹了python-docx文件路徑問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python爬蟲實現(xiàn)(偽)球迷速成

    Python爬蟲實現(xiàn)(偽)球迷速成

    還有4天就世界杯了,作為一個資深(偽)球迷,必須要實時關(guān)注世界杯相關(guān)新聞,了解各個球隊動態(tài),下面小編給大家?guī)砹薖ython爬蟲實現(xiàn)(偽)球迷速成功能,一起看看吧
    2018-06-06
  • tensorflow2.10使用BERT實現(xiàn)Semantic Similarity過程解析

    tensorflow2.10使用BERT實現(xiàn)Semantic Similarity過程解析

    這篇文章主要為大家介紹了tensorflow2.10使用BERT實現(xiàn)Semantic Similarity過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Python基礎(chǔ)必備之語法結(jié)構(gòu)詳解

    Python基礎(chǔ)必備之語法結(jié)構(gòu)詳解

    Python語法定義了用于在 Python 編程中創(chuàng)建句子的所有規(guī)則集。如果想更深入地研究 Python 詞法結(jié)構(gòu),需要了解構(gòu)成語句的句法元素,即構(gòu)成 Python 程序的基本單元,涵蓋控制結(jié)構(gòu),在不同代碼組之間引導(dǎo)程序流的構(gòu)造,快跟隨小編一起學(xué)習(xí)一下吧
    2022-04-04
  • Python中的標簽編碼和獨熱編碼示例詳解

    Python中的標簽編碼和獨熱編碼示例詳解

    標簽編碼是一種用于將分類列轉(zhuǎn)換為數(shù)值列的技術(shù),以便它們可以通過僅采用數(shù)值數(shù)據(jù)的機器學(xué)習(xí)模型進行擬合,這篇文章主要介紹了Python中的標簽編碼和獨熱編碼,需要的朋友可以參考下
    2023-07-07
  • Python 硬幣兌換問題

    Python 硬幣兌換問題

    這篇文章主要介紹了Python 硬幣兌換問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Linux 修改Python命令的方法示例

    Linux 修改Python命令的方法示例

    這篇文章主要介紹了Linux 修改Python命令的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 基于Python實現(xiàn)迪杰斯特拉和弗洛伊德算法

    基于Python實現(xiàn)迪杰斯特拉和弗洛伊德算法

    這篇文章主要為大家詳細介紹了基于Python實現(xiàn)迪杰斯特拉和弗洛伊德算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Django:使用filter的pk進行多值查詢操作

    Django:使用filter的pk進行多值查詢操作

    這篇文章主要介紹了Django:使用filter的pk進行多值查詢操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論