(一)PyQt5系列教程:使用PyQt5创建一个简单的demo
(一)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相关推荐
- 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 ...
- JME3教程:Android创建一个简单的示例
作者:忆逝丷 不得转载!不得转载!不得转载! 找遍全网都没有一个安卓的教程,我研究了好几天,终于研究出来了,分享一下给大家. 首先需要对安卓中的view,assets,libso存放位置有一定的了解. ...
- 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 ...
- Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
本文将演示如何利用namespace创建一个完整的容器,并在里面运行busybox.如果对namespace不是很熟悉,请先参考前面几遍介绍不同类型namespace的文章. busybox是一个Li ...
- WF4.0入门系列1——创建一个简单的工作流
WF4.0入门系列1--创建一个简单的工作流 打开VS2010,选择文件-新建-项目,选择Workflow项 工作流台应用程序,在名称处输入chapter01,选择合适的位置,这里默认,单击确定. V ...
- java qq ui界面_java swing 创建一个简单的QQ界面教程
记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.a ...
- ROS2入门教程—创建一个简单的订阅者和发布者(C++版)
ROS2入门教程-创建一个简单的订阅者和发布者(C++版) 1 创建功能包 2 创建发布者节点 3 设置发布者节点依赖项 4 设置发布者节点编译规则 5 创建订阅者 6 编译并运行 节点是通过RO ...
- DirectX 10教程2:创建一个框架和窗口
源代码下载:dx10tut02.zip 在开始DirectX 10编程之前,我推荐你创建一个简单的框架,这个框架用于处理基本的窗体功能,并可以非常容易地进行扩展.因为本教程的目的是为了演示Dir ...
- python爬虫入门教程(二):开始一个简单的爬虫
2019/10/28更新 使用Python3,而不再是Python2 转载请注明出处:https://blog.csdn.net/aaronjny/article/details/77945329 爬 ...
- Spring MVC:使用基于Java的配置创建一个简单的Controller
这是我博客上与Spring MVC相关的第一篇文章. 开端总是令人兴奋的,因此我将尽量简洁明了. Spring MVC允许以最方便,直接和快速的方式创建Web应用程序. 开始使用这项技术意味着需要Sp ...
最新文章
- OpenResty学习中的几个小例子汇总
- 前沿丨DeepMind提出神经元删除法:通过理解每个神经元来理解深度学习
- MapReduce的优点
- 目标检测(R-CNN、Fast R-CNN、Fater R-CNN)
- 如何分析SAPPSPRO-S_MAT_ENHANC_COMM问题
- Java文档阅读笔记-Spring Boot JDBC
- 了解下JavaScript中的prototype
- 浅析Python3中的bytes和str类型(转载)
- xen-tools虚拟机快速部署
- 拓端tecdat|Python中的Lasso回归之最小角算法LARS
- 屏幕录制软件哪个好?
- redis mysql 雪崩_Redis雪崩和穿透问题
- 由对称性知定点一定在x轴上_圆锥曲线中的定点定值问题的四种模型.doc
- Simulink仿真Boost电路
- 我们为什么要进行时间管理?
- 【Vue组件】从零开始实现一个支持插入自定义表情的评论组件
- 解析:浏览器事件冒泡及事件捕获
- 随心情更新的学习笔记——JS代码之栈的佩兹的糖果盒
- 如何制作u盘pe启动盘?
- 中国人为什么这么爱面子?