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实现的简单算术游戏实例
May 26 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
Django ManyToManyField 跨越中间表查询的方法
Dec 18 Python
Django框架模板介绍
Jan 15 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
python 中如何获取列表的索引
Jul 02 Python
Python3使用PySynth制作音乐的方法
Sep 09 Python
Python docutils文档编译过程方法解析
Jun 23 Python
如何真正的了解python装饰器
Aug 14 Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 Python
python源文件的字符编码知识点详解
Mar 04 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
JAVA/JSP学习系列之六
2006/10/09 PHP
php实现Session存储到Redis
2015/11/11 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
Python中super关键字用法实例分析
2015/05/28 Python
Python入门_条件控制(详解)
2017/05/16 Python
Python实现Dijkstra算法
2018/10/17 Python
python实现简易数码时钟
2021/02/19 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
tensorflow如何批量读取图片
2019/08/29 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
sklearn的predict_proba使用说明
2020/06/28 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
年终自我鉴定
2013/10/09 职场文书
什么是就业协议书
2014/04/17 职场文书
入股协议书范本
2014/11/01 职场文书
员工评语范文
2014/12/31 职场文书
2015年新教师工作总结
2015/04/28 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
python办公自动化之excel的操作
2021/05/23 Python
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android