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根据出生日期获得年龄的方法
Mar 31 Python
在Python中关于中文编码问题的处理建议
Apr 08 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
python利用OpenCV2实现人脸检测
Apr 16 Python
使用python分析统计自己微信朋友的信息
Jul 19 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
python文件读写代码实例
Oct 21 Python
Python利用folium实现地图可视化
May 23 Python
python单向链表实例详解
May 25 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 魔术函数使用说明
2010/02/21 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
PHP函数积累总结
2019/03/19 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
类似CSDN图片切换效果脚本
2009/09/17 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
原生js实现碰撞检测
2020/03/12 Javascript
python画蝴蝶曲线图的实例
2019/11/21 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
SQL中where和having的区别
2012/06/17 面试题
《天游峰的扫路人》教学反思
2014/04/25 职场文书
实习指导老师评语
2014/04/26 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python