基于Python3.7语言的PyQt5界面开发-基础

1.安装PyQt5,首先在CMD命令行中进入到pip3的目录中,我的Python3路径:C:/Python/Python37

pip3 install PyQt5

 

基于Python3.7语言的PyQt5界面开发-基础_第1张图片

查看是否安装PyQt

pip3 list

基于Python3.7语言的PyQt5界面开发-基础_第2张图片

2.使用 QtCreator 绘制 ui文件

mainwindow.ui

3.将 mainwindow.ui 转换为 python文件

pyuic5 -o mainwindow.py mainwindow.ui

4.将mainwindow.py拷到 测试 python 文件的同一级目录(测试文件 pyqt5_ui.py)

代码如下:

mainwindow.py

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

# Form implementation generated from reading ui file 'mainwindow.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_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(630, 416)
        self.centralWidget = QtWidgets.QWidget(MainWindow)
        self.centralWidget.setObjectName("centralWidget")
        self.label = QtWidgets.QLabel(self.centralWidget)
        self.label.setGeometry(QtCore.QRect(70, 60, 54, 12))
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralWidget)
        self.label_2.setGeometry(QtCore.QRect(70, 110, 54, 12))
        self.label_2.setObjectName("label_2")
        self.name_lineEdit = QtWidgets.QLineEdit(self.centralWidget)
        self.name_lineEdit.setGeometry(QtCore.QRect(150, 60, 113, 20))
        self.name_lineEdit.setObjectName("name_lineEdit")
        self.password_lineEdit = QtWidgets.QLineEdit(self.centralWidget)
        self.password_lineEdit.setGeometry(QtCore.QRect(150, 110, 113, 20))
        self.password_lineEdit.setEchoMode(QtWidgets.QLineEdit.Password)
        self.password_lineEdit.setObjectName("password_lineEdit")
        self.login_btn = QtWidgets.QPushButton(self.centralWidget)
        self.login_btn.setGeometry(QtCore.QRect(150, 230, 75, 23))
        self.login_btn.setObjectName("login_btn")
        self.msg_plainTextEdit = QtWidgets.QPlainTextEdit(self.centralWidget)
        self.msg_plainTextEdit.setGeometry(QtCore.QRect(380, 60, 211, 171))
        self.msg_plainTextEdit.setObjectName("msg_plainTextEdit")
        MainWindow.setCentralWidget(self.centralWidget)
        self.menuBar = QtWidgets.QMenuBar(MainWindow)
        self.menuBar.setGeometry(QtCore.QRect(0, 0, 630, 23))
        self.menuBar.setObjectName("menuBar")
        self.menuPyQt5 = QtWidgets.QMenu(self.menuBar)
        self.menuPyQt5.setObjectName("menuPyQt5")
        self.menupython3 = QtWidgets.QMenu(self.menuBar)
        self.menupython3.setObjectName("menupython3")
        MainWindow.setMenuBar(self.menuBar)
        self.mainToolBar = QtWidgets.QToolBar(MainWindow)
        self.mainToolBar.setObjectName("mainToolBar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.mainToolBar)
        self.statusBar = QtWidgets.QStatusBar(MainWindow)
        self.statusBar.setObjectName("statusBar")
        MainWindow.setStatusBar(self.statusBar)
        self.actionlist = QtWidgets.QAction(MainWindow)
        self.actionlist.setObjectName("actionlist")
        self.actionlis2 = QtWidgets.QAction(MainWindow)
        self.actionlis2.setObjectName("actionlis2")
        self.actionlist3 = QtWidgets.QAction(MainWindow)
        self.actionlist3.setObjectName("actionlist3")
        self.menupython3.addSeparator()
        self.menupython3.addAction(self.actionlist)
        self.menupython3.addAction(self.actionlis2)
        self.menupython3.addAction(self.actionlist3)
        self.menuBar.addAction(self.menuPyQt5.menuAction())
        self.menuBar.addAction(self.menupython3.menuAction())

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

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "PyQt5_Test"))
        self.label.setText(_translate("MainWindow", "用户名"))
        self.label_2.setText(_translate("MainWindow", "密码"))
        self.login_btn.setText(_translate("MainWindow", "登陆"))
        self.menuPyQt5.setTitle(_translate("MainWindow", "PyQt5"))
        self.menupython3.setTitle(_translate("MainWindow", "python3"))
        self.actionlist.setText(_translate("MainWindow", "list"))
        self.actionlis2.setText(_translate("MainWindow", "lis2"))
        self.actionlist3.setText(_translate("MainWindow", "list3"))

pyqt5_ui.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import mainwindow

import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow


def button_clicked_event():
    global mainwindow_ui
    name = mainwindow_ui.name_lineEdit.text()
    pwd = mainwindow_ui.password_lineEdit.text()
    msg_value = name + " " + pwd
    print(msg_value)
    mainwindow_ui.msg_plainTextEdit.setPlainText(str(msg_value))


#################################################
if __name__ == '__main__':
    app = QApplication(sys.argv)
    mainwindow_ui = mainwindow.Ui_MainWindow()
    qMainWindow = QMainWindow()
    mainwindow_ui.setupUi(qMainWindow)
    mainwindow_ui.login_btn.clicked.connect(button_clicked_event)
    qMainWindow.show()

    sys.exit(app.exec_())

 

运行效果:

基于Python3.7语言的PyQt5界面开发-基础_第3张图片

 

==================================================

Sublime Text3 配置 python 环境

Tools-Build System-New Build System...

保存为Python3,输入以下内容:

Python3.sublime-build

{
    "cmd": ["C:/Python/Python37/python.exe","-u","$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf8"},
    "shell": "true",
}

======================================================

另外,附上我的 Sublime Text 安装的控件和配置信息

 

 

1.Anaconda 自动补齐

Settings-default 配置文件修改

"python_interpreter": "C:/Python/Python37/python.exe",

Settings-user 配置文件添加

{
    "python_interpreter":"C:/Python/Python37/python.exe",
    "suppress_word_completions":true,
    "suppress_explicit_completions":true,
    "comlete_parameters":true,
    "swallow_startup_errors":true,
    "anaconda_linting":false
}

2. Python PEP8 Autoformat  代码格式化空间  默认快捷键 ctrl+shift+R

3.Sublime REPL 另一个编译器 默认F5运行py文件,可解决 input函数无法输入问题。

 

 

 

你可能感兴趣的:(python)