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简单图片操作:打开\显示\保存图像方法介绍
Nov 23 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
Python操作Excel插入删除行的方法
Dec 10 Python
Django渲染Markdown文章目录的方法示例
Jan 02 Python
Python实现SQL注入检测插件实例代码
Feb 02 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
Django 限制访问频率的思路详解
Dec 24 Python
如何在Windows中安装多个python解释器
Jun 16 Python
Python异常类型以及处理方法汇总
Jun 05 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批量采集下载美女图片的实现代码
2013/06/03 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
JSON取值前判断
2014/12/23 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
electron 如何将任意资源打包的方法步骤
2020/04/16 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
计算机专业自我鉴定
2013/10/15 职场文书
教师素质教育心得体会
2016/01/19 职场文书
Java设计模式中的命令模式
2022/04/28 Java/Android