PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解


Posted in Python onMarch 24, 2020

1 安装pyqt5

1.1 安装pyqt5

pip install PyQt5

1.2 安装pyqt5常用工具包

pip install PyQt5-tools

1.3 新建main.py编写以下测试代码,验证是否安装成功

import sys
from PyQt5.QtWidgets import QWidget, QApplication

app = QApplication(sys.argv)
widget = QWidget()
widget.resize(640, 480)
widget.setWindowTitle("Hello, PyQt5!")
widget.show()
sys.exit(app.exec())

1.4 如果出现以下窗口,表示PyQt5库安装成功

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

2 指定Qt Designer和PyUIC

2.1 打开setting

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

2.2 设置QTDesigner

Anaconda3中自带了QtDesigner,位于Anaconda3\Library\bin\designer.exe

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

Program:D:\Program_Software\Anaconda3\Library\bin\designer.exe
Working directory: $ProjectFileDir$

2.3 设置PyUIC

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

Program: D:\Program_Software\Anaconda3\python.exe
Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $ProjectFileDir$

2.4 添加完成

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

3 测试QTDesigner是否添加成功

3.1 打开QTDesigner

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

3.2 新建一个UI文件
3.2.1 点击创建

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

3.2.2 新建一个按钮,并保存ui文件

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

3.2.3 目录下已经出现mainwindow.ui,QTDesigner配置成功

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

4 测试PyUIC是否配置成功

4.1 在mainwindow.ui上右击选择PyUIC

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

4.2 自动生成mainwindow.py,表示配置成功

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

5 自定义类继承UI界面

5.1 改main.py为如下:

from PyQt5.QtWidgets import QApplication,QMainWindow
from mainwindow import Ui_MainWindow
import sys

class My_UI(QMainWindow, Ui_MainWindow):
 def __init__(self):
 QMainWindow.__init__(self)
 Ui_MainWindow.__init__(self)
 self.setupUi(self)

if __name__ == '__main__':
 app = QApplication(sys.argv)

 # 显示窗口
 win = My_UI()
 win.show()
 sys.exit(app.exec_())

5.2 运行,出现以下界面

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

成功!!6 其它常用操作设置窗口标题

self.setWindowTitle('我是标题')

设置软件图标

self.setWindowIcon(QIcon('./XXX.ico'))

连接信号和槽

self.Btn_XXX.clicked.connect(self.my_function)

引入QSS文件

class CommonHelper:
 def __init__(self):
 pass

 @staticmethod
 def readQss(style):
 with open(style, 'r') as f:
 return f.read()

if __name__ == '__main__':
 app = QApplication(sys.argv)
 # 设置style
 styleFile = './css.qss'
 qssStyle = CommonHelper.readQss(styleFile)
 app.setStyleSheet(qssStyle)
 # 显示窗口
 win = My_UI()
 win.show()
 sys.exit(app.exec_())

QSS文件示例

QPushButton {
 box-shadow: inset 0px 1px 0px 0px #ffffff;
 background: linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);
 background-color: #f9f9f9;
 border-radius: 6px;
 border: 1px solid #dcdcdc;
 display: inline-block;
 cursor: pointer;
 color: #666666;
 font-family: Arial;
 font-size: 15px;
 font-weight: bold;
 padding: 4px 15px;
 text-decoration: none;
 text-shadow: 0px 1px 0px #ffffff;
}

QPushButton:hover {
 background: linear-gradient(to bottom, #e9e9e9 5%, #f9f9f9 100%);
 background-color: #e9e9e9;
}

QPushButton:pressed {
 position: relative;
 top: 1px;
}

PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解

总结

到此这篇关于PyCharm Anaconda配置PyQt5开发环境以及创建项目的文章就介绍到这了,更多相关PyCharm Anaconda配置PyQt5开发环境以及创建项目内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
简单分析Python中用fork()函数生成的子进程
May 04 Python
使用rpclib进行Python网络编程时的注释问题
May 06 Python
python使用代理ip访问网站的实例
May 07 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
Python常见内置高效率函数用法示例
Jul 31 Python
python批量复制图片到另一个文件夹
Sep 17 Python
Python 实现两个列表里元素对应相乘的方法
Nov 14 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
Python插件机制实现详解
May 04 Python
Python爬虫破解登陆哔哩哔哩的方法
Nov 17 Python
Python多线程通信queue队列用法实例分析
Mar 24 #Python
pycharm部署、配置anaconda环境的教程
Mar 24 #Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 #Python
Python3 中sorted() 函数的用法
Mar 24 #Python
python3 deque 双向队列创建与使用方法分析
Mar 24 #Python
pyqt5 QlistView列表显示的实现示例
Mar 24 #Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 #Python
You might like
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
javascript前端和后台进行数据交互方法示例
2020/08/07 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
一道python走迷宫算法题
2018/01/22 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
新兵入伍心得体会
2014/09/04 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript