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文件和目录操作函数小结
Jul 11 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
python实现决策树、随机森林的简单原理
Mar 26 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
Python数据结构之图的应用示例
May 11 Python
Python 变量类型详解
Oct 10 Python
详解如何为eclipse安装合适版本的python插件pydev
Nov 04 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
Dec 18 Python
python实现手机销售管理系统
Mar 19 Python
Python中的list与tuple集合区别解析
Oct 12 Python
Python log模块logging记录打印用法解析
Jan 20 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 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 中执行排序与 MySQL 中排序
2009/04/21 PHP
php字符串截取的简单方法
2013/07/04 PHP
PHP防止跨域提交表单
2013/11/01 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
JS实现随机数生成算法示例代码
2013/08/08 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
javascript模拟评分控件实现方法
2015/05/13 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
bootstrapvalidator之API学习教程
2017/06/29 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
vue实现信息管理系统
2020/05/30 Javascript
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
详解python tkinter 图片插入问题
2020/09/03 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
雪山饭庄的创业计划书范文
2014/01/18 职场文书
激励口号大全
2014/06/17 职场文书
基层党支部整改方案
2014/10/25 职场文书
优秀党员事迹材料
2014/12/18 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis