(一)PyQt5系列教程:使用PyQt5创建一个简单的demo

一、环境配置:

1. python下载(建议python3.8版本以上)和安装

2. pycharm下载和安装

3. PyQr5下载和安装

4. 在pycharm中添加对应的PyQt5的包

5.设置PyQt5的设计器,将PyQt5文件转换成python:


复制designer.exe的路径:


然后打开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.translateDialog.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.translateMainWindow.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_())          # 程序循环,等待安全退出

(一)PyQt5系列教程:使用PyQt5创建一个简单的demo相关推荐

  1. Creating a 3D Logo in Photoshop Photoshop系列教程之如何创建一个3D Logo Lynda课程中文字幕

    Creating a 3D Logo in Photoshop 中文字幕 Photoshop系列教程之如何创建一个3D Logo 中文字幕Creating a 3D Logo in Photoshop ...

  2. JME3教程:Android创建一个简单的示例

    作者:忆逝丷 不得转载!不得转载!不得转载! 找遍全网都没有一个安卓的教程,我研究了好几天,终于研究出来了,分享一下给大家. 首先需要对安卓中的view,assets,libso存放位置有一定的了解. ...

  3. PyQt5系列教程(二)利用QtDesigner设计UI界面

    软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 PyCharm 5.0.1 前言 在PyQt5系列教程的第一篇http://blog.csdn.net/dj ...

  4. Linux Namespace系列(09):利用Namespace创建一个简单可用的容器

    本文将演示如何利用namespace创建一个完整的容器,并在里面运行busybox.如果对namespace不是很熟悉,请先参考前面几遍介绍不同类型namespace的文章. busybox是一个Li ...

  5. WF4.0入门系列1——创建一个简单的工作流

    WF4.0入门系列1--创建一个简单的工作流 打开VS2010,选择文件-新建-项目,选择Workflow项 工作流台应用程序,在名称处输入chapter01,选择合适的位置,这里默认,单击确定. V ...

  6. java qq ui界面_java swing 创建一个简单的QQ界面教程

    记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.a ...

  7. ROS2入门教程—创建一个简单的订阅者和发布者(C++版)

    ROS2入门教程-创建一个简单的订阅者和发布者(C++版) 1 创建功能包 2 创建发布者节点 3 设置发布者节点依赖项 4 设置发布者节点编译规则 5 创建订阅者 6 编译并运行   节点是通过RO ...

  8. DirectX 10教程2:创建一个框架和窗口

     源代码下载:dx10tut02.zip 在开始DirectX 10编程之前,我推荐你创建一个简单的框架,这个框架用于处理基本的窗体功能,并可以非常容易地进行扩展.因为本教程的目的是为了演示Dir ...

  9. python爬虫入门教程(二):开始一个简单的爬虫

    2019/10/28更新 使用Python3,而不再是Python2 转载请注明出处:https://blog.csdn.net/aaronjny/article/details/77945329 爬 ...

  10. Spring MVC:使用基于Java的配置创建一个简单的Controller

    这是我博客上与Spring MVC相关的第一篇文章. 开端总是令人兴奋的,因此我将尽量简洁明了. Spring MVC允许以最方便,直接和快速的方式创建Web应用程序. 开始使用这项技术意味着需要Sp ...

最新文章

  1. OpenResty学习中的几个小例子汇总
  2. 前沿丨DeepMind提出神经元删除法:通过理解每个神经元来理解深度学习
  3. MapReduce的优点
  4. 目标检测(R-CNN、Fast R-CNN、Fater R-CNN)
  5. 如何分析SAPPSPRO-S_MAT_ENHANC_COMM问题
  6. Java文档阅读笔记-Spring Boot JDBC
  7. 了解下JavaScript中的prototype
  8. 浅析Python3中的bytes和str类型(转载)
  9. xen-tools虚拟机快速部署
  10. 拓端tecdat|Python中的Lasso回归之最小角算法LARS
  11. 屏幕录制软件哪个好?
  12. redis mysql 雪崩_Redis雪崩和穿透问题
  13. 由对称性知定点一定在x轴上_圆锥曲线中的定点定值问题的四种模型.doc
  14. Simulink仿真Boost电路
  15. 我们为什么要进行时间管理?
  16. 【Vue组件】从零开始实现一个支持插入自定义表情的评论组件
  17. 解析:浏览器事件冒泡及事件捕获
  18. 随心情更新的学习笔记——JS代码之栈的佩兹的糖果盒
  19. 如何制作u盘pe启动盘?
  20. 中国人为什么这么爱面子?

热门文章

  1. 前端开发写代码哪个软件更好用?
  2. 计算机组成原理白中英课后习题题答案
  3. 计算机组成原理(白中英) 第五章 课后题答案
  4. MATLAB自适应平滑滤波
  5. MATLAB中滤波演示
  6. Eclipse 模板使用
  7. overleaf换模板
  8. 决定明智地放弃对名手旋风等象棋引擎的破解...
  9. 如何查看自己在CSDN积分
  10. 这一年,这些书:2020年读书笔记