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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
PyQt5每天必学之布局管理
Apr 19 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
python实现银联支付和支付宝支付接入
May 07 Python
树莓派3 搭建 django 服务器的实例
Aug 29 Python
Python实现汇率转换操作
May 03 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
python类共享变量操作
Sep 03 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 Python
pytorch 如何使用float64训练
May 24 Python
python缺失值的解决方法总结
Jun 09 Python
 Python 中 logging 模块使用详情
Mar 03 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
咖啡店都有些什么常规豆子呢?有什么风味在里面
2021/03/04 咖啡文化
php中的一个中文字符串截取函数
2007/02/14 PHP
PHP控制网页过期时间的代码
2008/09/28 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
Python脚本获取操作系统版本信息
2016/12/17 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
Python线性回归实战分析
2018/02/01 Python
Python实现Dijkstra算法
2018/10/17 Python
将python图片转为二进制文本的实例
2019/01/24 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
实习心得体会
2014/01/02 职场文书
分公司负责人任命书
2014/06/04 职场文书
服务口号大全
2014/06/11 职场文书
农村党员对照检查材料
2014/09/24 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
学校教学管理制度
2015/08/06 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
如何在C++中调用Python
2021/05/21 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python