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 相关文章推荐
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
python中类的属性和方法介绍
Nov 27 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
Python 异步协程函数原理及实例详解
Nov 13 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
Python Django form 组件动态从数据库取choices数据实例
May 19 Python
pytorch 移动端部署之helloworld的使用
Oct 30 Python
python小技巧——将变量保存在本地及读取
Nov 13 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Jun 04 Python
分享3个非常实用的 Python 模块
Mar 03 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
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
python实现猜数游戏
2020/03/27 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
Python爬虫小例子——爬取51job发布的工作职位
2020/07/10 Python
Python 实现简单的客户端认证
2020/07/29 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
大学毕业生自荐书怎么写?
2014/01/06 职场文书
校本教研工作制度
2014/01/22 职场文书
女儿十岁生日答谢词
2014/01/27 职场文书
高三高考决心书
2014/03/11 职场文书
企业新年寄语
2014/04/04 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
爱心捐书倡议书
2015/04/27 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
MySQL的索引你了解吗
2022/03/13 MySQL