這篇文章給大家介紹Python中pyqt5與qtdesigner對(duì)照分析是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
為海城等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及海城網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、海城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
一、空的程序的生成理解
1.采用手工純代碼方式書寫GUI程序。
2.采用qtdesigner方式來進(jìn)行界面規(guī)劃。
通過兩種不同的形式制作的pyqt5程序,觀察有何不同。
理解Qwidget是基于所有控件的基類,包括窗體控件、按鈕、文本等等。
二、Qt Designer設(shè)計(jì)師界面相關(guān)屬性
Geometry屬性:
X:代表窗體出現(xiàn)的位置是在屏幕的左上角水平方向的0 的位置
Y:代表窗體出現(xiàn)的位置是在屏幕左上角垂直方向的0的位置
默認(rèn)寬度:400
默認(rèn)高度:300
ObjectName屬性:表示窗體對(duì)象的名稱 。對(duì)應(yīng)的python代碼中設(shè)置窗體名稱的方法setObjectName
注意:窗體對(duì)象其實(shí)就是指qwidget的實(shí)例化對(duì)象
三、補(bǔ)充pyuic命令解析
使用Python.exe解釋器
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
命令說明:-m表示調(diào)用某個(gè)模塊,這表表示調(diào)用PyQt5.uic.pyuic 模塊
$FileName$表示需要轉(zhuǎn)換的源文件名稱
-o 表示需要生成目標(biāo)文件,這里使用$FileNameWithoutExtension$表示與源文件相同的文件名稱但不包含擴(kuò)展名的目標(biāo)文件,擴(kuò)展名,我們通過自己連接.py,那么最終表示生成的是python類型的文件。
四、Qt中信號(hào)的理解
相關(guān)路徑概念的說明
絕對(duì)路徑:從根目錄開始的詳細(xì)路徑
相對(duì)路徑:相對(duì)于某個(gè)文件目錄的路徑
相對(duì)路徑往往有一些符號(hào)代表:
.點(diǎn)表示當(dāng)前路徑
..點(diǎn)點(diǎn)表示上一層路徑
五、函數(shù)補(bǔ)充解釋
resize函數(shù)
作用:重新調(diào)整窗體的大小。
有兩個(gè)參數(shù),第一個(gè)參數(shù)表示寬度值,第二個(gè)參數(shù)表示高度值。
舉例:
Form.resize(400, 300)
move函數(shù)
作用:調(diào)整窗體的位置。
第一個(gè)參數(shù)表示水平水平方向的位置。
第二個(gè)參數(shù)表示垂直方向的位置。
使用舉例:
Form.move(0,0)
show函數(shù)
Pyqt5的show函數(shù)是窗體的顯示功能
六、總結(jié)強(qiáng)調(diào)
1.掌握qtdesigner設(shè)計(jì)界面與pyuic轉(zhuǎn)換后文件代碼的對(duì)應(yīng)關(guān)系。
2.掌握pyqt5中界面中常用函數(shù)的基本用法
3.掌握如何調(diào)用生成界面的思想。實(shí)則是如何使用pyqt5純代碼寫gui界面的關(guān)鍵。
以下為本節(jié)源代碼
UI轉(zhuǎn)為py后的代碼:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ljytest003.ui'
#
# Created by: PyQt5 UI code generator 5.13.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 300)
Form.move(0,0)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
ljy003.py調(diào)用UI界面
#導(dǎo)入python系統(tǒng)類庫(kù)
import sys
#導(dǎo)入Pyqt5用到的類庫(kù),QApplication應(yīng)用程序類,QWidget控件的基類
from PyQt5.QtWidgets import QApplication,QWidget
#導(dǎo)入生成界面的類的模塊
import ljytest003
#實(shí)例化一個(gè)類,通過構(gòu)造函數(shù)傳入python的應(yīng)用參數(shù)
print(sys.argv) #這里打印出包含當(dāng)前文件絕對(duì)路徑名稱的列表
app=QApplication(sys.argv)
#實(shí)例化界面基類
w=QWidget()
#實(shí)例化生成的界面的類
form=ljytest003.Ui_Form()
#將生成的窗體控件及配置載入到w控件對(duì)象中
form.setupUi(w)
#窗體顯示
w.show()
#app.exec_()表示程序界面監(jiān)聽事件的開始,是一個(gè)死循環(huán)。
sys.exit(app.exec_())
關(guān)于Python中pyqt5與qtdesigner對(duì)照分析是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。