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获取指定网页上所有超链接的方法
Apr 04 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
Python3中详解fabfile的编写
Jun 24 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
Jun 25 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
python 画出使用分类器得到的决策边界
Aug 21 Python
Django异步任务线程池实现原理
Dec 17 Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 Python
Python如何使用正则表达式爬取京东商品信息
Jun 01 Python
Python与C++中梯度方向直方图的实现
Mar 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
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
jquery 批量上传图片实现代码
2010/01/28 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
es6函数之严格模式用法实例分析
2020/03/17 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
Python基础语法(Python基础知识点)
2016/02/28 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
2018/05/21 Python
python tkinter组件使用详解
2019/09/16 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
python构建指数平滑预测模型示例
2019/11/21 Python
Python partial函数原理及用法解析
2019/12/11 Python
django自定义模板标签过程解析
2019/12/14 Python
关于Python解包知识点总结
2020/05/05 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
竞选学生会演讲稿
2014/04/25 职场文书
少年犯观后感
2015/06/11 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
Vue实现下拉加载更多
2021/05/09 Vue.js
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
Python使用openpyxl批量处理数据
2021/06/23 Python