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和C++求解方法
Aug 20 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
python环形单链表的约瑟夫问题详解
Sep 27 Python
python判断完全平方数的方法
Nov 13 Python
python paramiko利用sftp上传目录到远程的实例
Jan 03 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
python的debug实用工具 pdb详解
Jul 12 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 Python
Python如何在main中调用函数内的函数方式
Jun 01 Python
Django ModelForm组件原理及用法详解
Oct 12 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
JavaScript统计网站访问次数的实现代码
2015/11/18 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
10款最好的Web开发的 Python 框架
2015/03/18 Python
Python hashlib模块的使用示例
2020/10/09 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
行政经理岗位职责
2013/11/09 职场文书
什么是就业协议书
2014/04/17 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
快递员岗位职责
2014/09/12 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
爱心募捐通知范文
2015/04/27 职场文书
win10清理dns缓存
2022/04/19 数码科技