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基础之while循环及if判断
Aug 24 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
python3模块smtplib实现发送邮件功能
May 22 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
opencv中图像叠加/图像融合/按位操作的实现
Apr 01 Python
基于Python词云分析政府工作报告关键词
Jun 02 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
python语言中pandas字符串分割str.split()函数
Aug 05 Python
LeetCode189轮转数组python示例
Aug 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数组交集的优化代码分析
2011/03/06 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
向左滚动文字 js代码效果
2013/08/17 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
angular.bind使用心得
2015/10/26 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
python中xrange用法分析
2015/04/15 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
python使用正则筛选信用卡
2019/01/27 Python
对pandas处理json数据的方法详解
2019/02/08 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
经典洗发水广告词
2014/03/13 职场文书
学习两会精神心得范文
2014/03/17 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
园林系毕业生求职信
2014/06/23 职场文书
暑假学习心得体会
2014/09/02 职场文书
校车安全管理责任书
2015/05/11 职场文书
毕业典礼致辞
2015/07/29 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
5个实用的JavaScript新特性
2022/06/16 Javascript