一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

從零開始 使用PyQt5

 cslwp 2022-04-07

漫天撒花于 2018-09-04 12:26:51 發(fā)布 154441收藏 645文章標(biāo)簽: python  Gui  pyqt5  pycharm版權(quán)

 PyQt5 是用來創(chuàng)建Python GUI應(yīng)用程序的工具包。作為一個(gè)跨平臺(tái)的工具包,PyQt可以在所有主流操作系統(tǒng)上運(yùn)行(Unix,Windows,Mac)。

本文描述Windows系統(tǒng)下如何安裝Python + PyCharm + PyQt5,并通過PyQt5 采用 兩種方式設(shè)計(jì)GUI界面。a.直接使用代碼設(shè)計(jì)界面;b. 先使用QtDesigner進(jìn)行可視化設(shè)計(jì),然后將生成的.ui文件轉(zhuǎn)換成.py文件。

安裝Python + PyCharm + PyQt5

1、安裝Python

訪問官網(wǎng)https://www./,下載并安裝你的目標(biāo)Python版本。

2、安裝PyQt5

1)進(jìn)入cmd界面。執(zhí)行命令 pip install pyqt5 pyqt5-tools ,等待一會(huì)兒,命令執(zhí)行完畢后PyQt5就安裝好了。

在安裝過程中可能會(huì)報(bào)下面錯(cuò)誤,找不到對(duì)應(yīng)的pyqt5-tools版本。

  Collecting pyqt5-tools

  Could not find a version that satisfies the requirement pyqt5-tools (from versions: )

No matching distribution found for pyqt5-tools

由于作者電腦上原來安裝了2016年某個(gè)版本的python3.5 ,幸運(yùn)的把pip install pyqt5 pyqt5-tools 一次執(zhí)行完畢,全部安裝完了。不過后來更新到python3.5.4和python3.7時(shí)都遇到了這個(gè)問題。python3.5.4在更新PIP到最新版本后,問題貌似也消失了。python3.7沒有再去解決。

2)在python 自帶的IDLE中試驗(yàn)一下pqyt5是否真的裝好了。

新建文件 firstPython.py 并輸入如下代碼

#####################################

import sys  

from PyQt5 import QtWidgets, QtCore  

app = QtWidgets.QApplication(sys.argv)  

widget = QtWidgets.QWidget()  

widget.resize(400, 100)  

widget.setWindowTitle("This is a demo for PyQt Widget.")  

widget.show()  

exit(app.exec_()) 

#####################################

運(yùn)行后彈出如下界面,表示PyQt已經(jīng)正常工作啦。

如果不幸沒有彈出GUI窗口,而且提示錯(cuò)誤:ImportError: DLL load failed: 找不到指定的模塊。

據(jù)說這是由于缺少了合適的python3.dll,可以通過去 下載所需版本的python安裝包并安裝,然后從安裝目錄中拷貝python3.dll文件,和自己使用的python3x.dll放在同一級(jí)目錄下即可。

作者自己原來安裝的python3.5就是掛在了這一步,然后直接刪了重新安裝python3.5.4,又遇到了上面1)的問題。升級(jí)pip版本后莫名過關(guān)。建議大家按照上面建議的解決方式操作。

3、安裝PyCharm

1)訪問官網(wǎng)http://www./pycharm/download/#section=windows  作者選擇下載并安裝Community版本 ——目前是PyCharm 2018.2.2 Community Edition。

2)PyCharm 基本配置:

a. 建立一個(gè)新項(xiàng)目:first。 

b.設(shè)置默認(rèn)PyCharm解析器

選擇File | Settings | Project: first | Project Interpreter,設(shè)置 Project Interpreter為你使用的python版本

例如 C:\xxxx\AppData\Local\Programs\Python\Python35-32\python.exe

c. 添加第三方庫 

 停留在 Project Interpreter 界面,點(diǎn)擊+,查找并安裝 pyqt5,pyqt5-sip ,pyqt5-tools 。安裝成功后返回,界面應(yīng)該如下。

d.配置PyQt

PyCharm中選擇File | Settings | Tools | External Tools,點(diǎn)擊+ 新建工具, 建立QTdesigner 和 PyUIC工具

QTdesigner:

配置兩個(gè)關(guān)鍵參數(shù):

Program:自己的designer.exe路徑 例如 C:\xxxx\AppData\Local\Programs\Python\Python35-32\Lib\site-packages\pyqt5-tools\designer.exe  

Working directory:$ProjectFileDir$

PyUIC:

配置三個(gè)關(guān)鍵參數(shù):

Program:自己的python.exe路徑 例如 C:\xxxx\AppData\Local\Programs\Python\Python35-32\python.exe

Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

Working directory:$ProjectFileDir$

工具建立成功后返回ExternalTools界面,如下:

返回主界面,Tools->ExternalTools 中新增了QTdesigner 和 PyUIC兩個(gè)工具

4、PyCharm中通過PyQt5設(shè)計(jì)GUI界面

1)利用代碼創(chuàng)建GUI界面

新建firstGUI.py,輸入如下代碼

# -*- coding: utf-8 -*-

"""第一個(gè)程序"""

from PyQt5 import QtWidgets   # 導(dǎo)入PyQt5部件

import sys

app = QtWidgets.QApplication(sys.argv)  # 建立application對(duì)象

first_window = QtWidgets.QWidget()  # 建立窗體對(duì)象

first_window.resize(400, 300)  # 設(shè)置窗體大小

first_window.setWindowTitle("我的第一個(gè)pyqt程序")  # 設(shè)置窗體標(biāo)題

first_window.show()  # 顯示窗體

sys.exit(app.exec())  # 運(yùn)行程序

###############################################################

選擇Run->Run firstGUI,結(jié)果顯示如下界面就成功了。

2)利用QT Designer代碼生成一個(gè)GUI界面 ,并用PyUIC轉(zhuǎn)換為.py文件。

選擇Tools->ExternalTools->QTdesigner,進(jìn)入QT Designer界面,第一次會(huì)彈出一個(gè)GUI創(chuàng)建界面,點(diǎn)擊creat 自動(dòng)生成一個(gè)帶下方按鈕的GUI界面,如下圖。

另存該界面為Utitled.ui文件。

返回PyCharm 項(xiàng)目界面,項(xiàng)目列表下多出了這個(gè).ui文件

右鍵單擊Utitled.ui,彈出列表中選擇ExternalTools->PyUIC 就會(huì)生成Utitled.ui對(duì)應(yīng)的Utitled.py文件了。內(nèi)容如下

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'untitled.ui'

#

# Created by: PyQt5 UI code generator 5.11.2

#

# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Dialog(object):

    def setupUi(self, Dialog):

        Dialog.setObjectName("Dialog")

        Dialog.resize(400, 300)

        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)

        self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32))

        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)

        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)

        self.buttonBox.setObjectName("buttonBox")

        self.retranslateUi(Dialog)

        self.buttonBox.accepted.connect(Dialog.accept)

        self.buttonBox.rejected.connect(Dialog.reject)

        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):

        _translate = QtCore.QCoreApplication.translate

        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))

#############################################################################

That's All .Thankyou~

————————————————

版權(quán)聲明:本文為CSDN博主「漫天撒花」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/qq_41377419/article/details/82379818

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    又大又长又粗又猛国产精品| 嫩草国产福利视频一区二区| 欧美午夜一级艳片免费看| 老外那个很粗大做起来很爽| 欧美日韩国产精品自在自线| 最近日韩在线免费黄片| 人妻巨大乳一二三区麻豆| 亚洲午夜av一区二区| 国产又长又粗又爽免费视频| 一区二区三区亚洲国产| 91熟女大屁股偷偷对白| 亚洲精品日韩欧美精品| 99久久人妻精品免费一区| 亚洲国产精品av在线观看| 91精品国产综合久久福利| 超碰在线免费公开中国黄片| 日韩特级黄色大片在线观看| 中文字幕一区二区三区中文| 国产中文另类天堂二区| 欧美午夜视频免费观看| 日韩精品中文字幕亚洲| 亚洲欧美国产网爆精品| 一区中文字幕人妻少妇 | av一区二区三区天堂| 激情爱爱一区二区三区| 国产熟女一区二区三区四区| 亚洲国产天堂av成人在线播放| 成人免费高清在线一区二区| 久久精品亚洲精品一区| 中文字幕乱码一区二区三区四区| 久久99青青精品免费观看| 午夜久久久精品国产精品| 少妇人妻无一区二区三区| 中文字幕日韩精品人一妻| 国产一区二区三区精品免费| 亚洲一区二区三区av高清| 内用黄老外示儒术出处| 色综合久久六月婷婷中文字幕| 午夜精品麻豆视频91| 成人欧美精品一区二区三区| 国产又色又爽又黄的精品视频|