Python3+PyQt5+PyCharm 桌面GUI開發環境搭建


Python3+PyQt5+PyCharm 桌面GUI開發環境搭建

一、安裝python

PyQt5所支持的python版本是不低於3.5版本

python3.5以上的版本安裝:https://www.python.org/downloads/windows/

二、安裝PyQt5

pip install PyQt5
pip install PyQt5-tools

三、配置pycharm

官網下載安裝pycharm:https://www.jetbrains.com/pycharm/

1,點擊:File -》Settings

2,Tools -》 External Tools  -》點擊“+”號

 

3,設置Qt Designer

修改三個地方,其他地方默認:

Name:Qt Designer
Programs:D:\Program Files\Python35\Lib\site-packages\pyqt5-tools\designer.exe
Working directory:$ProjectFileDir$

注意:Programs參數需要修改為你電腦里邊的“designer.exe”路徑。

4,配置PyUIC

設置四個地方,其他可以默認
Name:PyUIC
Programs:D:\Program Files\Python35\python.exe
Parameters:-m PyQt5.uic.pyuic  $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$ProjectFileDir$

注意:Programs參數需要修改為你電腦里邊的python“python.exe”路徑。

四、使用Qt Designer

1,完成以上步驟之后,點擊 Tools -》External Tools -》Qt Designer 啟動我們的Qt Designer。

2,啟動后選擇:Widget,建立空白的窗口,點擊 Create,其他默認就行

3,從左邊 1區 拖拽,注意是“拖拽”控件到工作區,修改對應屬性

4,做完基本的界面設置之后,會看到同目錄下生成了一個“.ui”的文件

5,右鍵 External Tools -》PyUIC ,將“.ui”文件轉為“.py”文件

6,這時,如果一切正常,沒有報錯的話,會在同目錄下生成對應的“.py”文件

7,將下面的代碼,放到生成的“.py”文件,放到最后就行(注意縮進)

if __name__=="__main__":
    import sys
    from PyQt5.QtGui import QIcon
    app=QtWidgets.QApplication(sys.argv)
    widget=QtWidgets.QWidget()
    ui=Ui_Form()
    ui.setupUi(widget)
    widget.setWindowIcon(QIcon('web.png'))#增加icon圖標,如果沒有圖片可以沒有這句
    widget.show()
    sys.exit(app.exec_())

8,運行啟動,開啟了pythonGUI旅程

9,源代碼:

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

# Form implementation generated from reading ui file 'login.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# 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(552, 288)
        self.username = QtWidgets.QLabel(Form)
        self.username.setGeometry(QtCore.QRect(90, 90, 48, 20))
        self.username.setObjectName("username")
        self.username_2 = QtWidgets.QLabel(Form)
        self.username_2.setGeometry(QtCore.QRect(90, 130, 48, 20))
        self.username_2.setObjectName("username_2")
        self.layoutWidget = QtWidgets.QWidget(Form)
        self.layoutWidget.setGeometry(QtCore.QRect(140, 130, 189, 22))
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.layoutWidget)
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.horizontalLayout_2.addWidget(self.lineEdit_2)
        self.radioButton = QtWidgets.QRadioButton(Form)
        self.radioButton.setGeometry(QtCore.QRect(150, 180, 131, 16))
        self.radioButton.setObjectName("radioButton")
        self.pushButton_2 = QtWidgets.QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(180, 220, 75, 23))
        self.pushButton_2.setObjectName("pushButton_2")
        self.widget = QtWidgets.QWidget(Form)
        self.widget.setGeometry(QtCore.QRect(140, 90, 189, 22))
        self.widget.setObjectName("widget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.lineEdit = QtWidgets.QLineEdit(self.widget)
        self.lineEdit.setObjectName("lineEdit")
        self.horizontalLayout.addWidget(self.lineEdit)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.username.setText(_translate("Form", "用戶名:"))
        self.username_2.setText(_translate("Form", "密碼:"))
        self.radioButton.setText(_translate("Form", "記住用戶名和密碼"))
        self.pushButton_2.setText(_translate("Form", "登錄"))

if __name__ == "__main__":
    import sys
    from PyQt5.QtGui import QIcon
    app = QtWidgets.QApplication(sys.argv)
    widget = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(widget)
    widget.setWindowIcon(QIcon('web.png'))  # 增加icon圖標,如果沒有圖片可以沒有這句
    widget.show()
    sys.exit(app.exec_())

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM