(一)PyQt5系列教程:使用PyQt5创建一个简单的demo
一、环境配置:
1. python下载(建议python3.8版本以上)和安装
2. pycharm下载和安装
3. PyQr5下载和安装
4. 在pycharm中添加对应的PyQt5的包
文章图片
5.设置PyQt5的设计器,将PyQt5文件转换成python:
文章图片
复制designer.exe的路径:
文章图片
【PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)】
文章图片
然后打开setting,配置外部工具:(可以在pycharm直接调用软件外的工具)
文章图片
Program:是刚才复制的路径;
文章图片
Arguement填如下面参数:
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
文章图片
然后回到pycharm,打开外部工具Qt designer:
文章图片
调用了Pycharm外部的Qt designer。然后创建一个空工程文件,保存。保存的过程文件会在pycharm中出现
文章图片
点击窗口的中的部件,右边有相对应的属性可以进行设置:
文章图片
对pycharm中的Qt designer创建并保存的.ui工程文件中进行转换成python文件:
文章图片
文章图片
完整代码:
import sys
from PyQt5 import QtCore, QtGui, QtWidgetsclass 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"))if __name__ == '__main__':# QT提供的默认基类QMainWindow、QWidget、QDialog这三种。
# QMainWindow是带有菜单栏和工具栏的主窗口
# QtWidgets是PyQt5下面的一个模块,包括了用于构建界面的一系列UI元数组件
# QApplication包括窗口系统和其他来源处理过和发送过的主事件循环,有且只有一个QApplication对象
# QDialog是各种对话框的基类,窗口部件全部继承自QWidget。(本身没有菜单栏和工具栏)app = QtWidgets.QApplication(sys.argv)# 实例化一个应用对象
MainWindow = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(MainWindow)# 初始化窗口:吧Qt设计器设计的内容画出来,定义的信号和槽建立起来。(画界面和写程序的桥梁)
MainWindow.setWindowTitle("666")# 标题
MainWindow.show()# 显示窗口
sys.exit(app.exec_())# 程序循环,等待安全退出
点击运行:
文章图片
如果在Qt Designer创建Main Window:
文章图片
则代码部分为:
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file '03.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.Do not edit this file unless you know what you are doing.import sys
from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1025, 820)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("C:/Users/hdy/Pictures/logo.ico.bmp"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(200, 240, 274, 30))
self.widget.setObjectName("widget")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget)
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.lineEdit = QtWidgets.QLineEdit(self.widget)
self.lineEdit.setObjectName("lineEdit")
self.horizontalLayout.addWidget(self.lineEdit)
self.horizontalLayout_2.addLayout(self.horizontalLayout)
self.Button = QtWidgets.QPushButton(self.widget)
self.Button.setObjectName("Button")
self.horizontalLayout_2.addWidget(self.Button)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1025, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.Button.setText(_translate("MainWindow", "Button"))if __name__ == '__main__':# QT提供的默认基类QMainWindow、QWidget、QDialog这三种。
# QMainWindow是带有菜单栏和工具栏的主窗口
# QtWidgets是PyQt5下面的一个模块,包括了用于构建界面的一系列UI元数组件
# QApplication包括窗口系统和其他来源处理过和发送过的主事件循环,有且只有一个QApplication对象
# QDialog是各种对话框的基类,窗口部件全部继承自QWidget。(本身没有菜单栏和工具栏)app = QtWidgets.QApplication(sys.argv)# 实例化一个应用对象
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)# 初始化窗口:吧Qt设计器设计的内容画出来,定义的信号和槽建立起来。(画界面和写程序的桥梁)
MainWindow.setWindowTitle("666")# 标题
MainWindow.show()# 显示窗口
sys.exit(app.exec_())# 程序循环,等待安全退出
推荐阅读
- python|在Pycharm中打包(.py)文件成(.exe)文件
- python|(七)PyTorch深度学习(全连接层网络)
- python|Opencv系列教程(一)(Opencv读取指定文件夹图片、视频,调用摄像头)
- python|Python绘制简单的曲线图·
- python|基于MediaPipe的手势识别
- 树莓派|树莓派4B的串口使用,并通过串口与其他设备经过通讯协议发送、接收数据。
- web端|web全栈开发(web前后端数据交互。html5+jquery作为前端、Python+flask作为后端)
- 树莓派|(七)树莓派系列教程(树莓派4B连接LCD1602液晶显示屏并且显示内容)
- 快来试试用 Python 将你的照片转化为“速写”