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之wxPython菜单使用详解
Sep 28 Python
Python实现对PPT文件进行截图操作的方法
Apr 28 Python
浅谈Pandas中map, applymap and apply的区别
Apr 10 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
python实现Flappy Bird源码
Dec 24 Python
关于numpy中eye和identity的区别详解
Nov 29 Python
Django实现从数据库中获取到的数据转换为dict
Mar 27 Python
Django 用户登陆访问限制实例 @login_required
May 13 Python
使用Python防止SQL注入攻击的实现示例
May 21 Python
深入浅析Python代码规范性检测
Jul 31 Python
在终端启动Python时报错的解决方案
Nov 20 Python
超详细Python解释器新手安装教程
May 10 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如何透过ODBC来存取数据库
2006/10/09 PHP
资料注册后发信小技巧
2006/10/09 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
PHP中session变量的销毁
2014/02/27 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
JavaScript中的事件处理
2008/01/16 Javascript
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
python小技巧之批量抓取美女图片
2014/06/06 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
python set内置函数的具体使用
2019/07/02 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
python模拟斗地主发牌
2020/04/22 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
python中PyQuery库用法分享
2021/01/15 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
软件测试工程师笔试题带答案
2015/03/27 面试题
打架检讨书2000字
2014/02/22 职场文书
服务理念口号
2014/06/11 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
个人更名证明
2015/06/23 职场文书
解析原生JS getComputedStyle
2021/05/25 Javascript
Python函数对象与闭包函数
2022/04/13 Python