PyQt5入门
PyQt5 是用来创建Python GUI应用程序的工具包。作为一个跨平台的工具包,PyQt可以在所有主流操作系统上运行(Unix,Windows,Mac)。
本文描述Windows系统下如何安装Python + PyCharm + PyQt5,并通过PyQt5 采用 两种方式设计GUI界面。a.直接使用代码设计界面;b. 先使用QtDesigner进行可视化设计,然后将生成的.ui文件转换成.py文件。
安装Python + PyCharm + PyQt5
1、安装Python
访问官网https://www.python.org/,下载并安装你的目标Python版本。
2、安装PyQt5
1)进入cmd界面。执行命令 pip install pyqt5 pyqt5-tools ,等待一会儿,命令执行完毕后PyQt5就安装好了。
在安装过程中可能会报下面错误,找不到对应的pyqt5-tools版本。
Collecting pyqt5-tools
Could not find a version that satisfies the requirement pyqt5-tools (from versions: )
No matching distribution found for pyqt5-tools
由于作者电脑上原来安装了2016年某个版本的python3.5 ,幸运的把pip install pyqt5 pyqt5-tools 一次执行完毕,全部安装完了。不过后来更新到python3.5.4和python3.7时都遇到了这个问题。python3.5.4在更新PIP到最新版本后,问题貌似也消失了。python3.7没有再去解决。
2)在python 自带的IDLE中试验一下pqyt5是否真的装好了。
新建文件 firstPython.py 并输入如下代码
#####################################
import sys
from PyQt5 import QtWidgets, QtCore
app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()
widget.resize(400, 100)
widget.setWindowTitle("This is a demo for PyQt Widget.")
widget.show()
exit(app.exec_())
#####################################
运行后弹出如下界面,表示PyQt已经正常工作啦。
如果不幸没有弹出GUI窗口,而且提示错误:ImportError: DLL load failed: 找不到指定的模块。
据说这是由于缺少了合适的python3.dll,可以通过去python.org 下载所需版本的python安装包并安装,然后从安装目录中拷贝python3.dll文件,和自己使用的python3x.dll放在同一级目录下即可。
作者自己原来安装的python3.5就是挂在了这一步,然后直接删了重新安装python3.5.4,又遇到了上面1)的问题。升级pip版本后莫名过关。建议大家按照上面建议的解决方式操作。
3、安装PyCharm
1)访问官网http://www.jetbrains.com/pycharm/download/#section=windows 作者选择下载并安装Community版本 ——目前是PyCharm 2018.2.2 Community Edition。
2)PyCharm 基本配置:
a. 建立一个新项目:first。
b.设置默认PyCharm解析器
选择File | Settings | Project: first | Project Interpreter,设置 Project Interpreter为你使用的python版本
例如 C:\xxxx\AppData\Local\Programs\Python\Python35-32\python.exe
c. 添加第三方库
停留在 Project Interpreter 界面,点击+,查找并安装 pyqt5,pyqt5-sip ,pyqt5-tools 。安装成功后返回,界面应该如下。
d.配置PyQt
PyCharm中选择File | Settings | Tools | External Tools,点击+ 新建工具, 建立QTdesigner 和 PyUIC工具
QTdesigner:
配置两个关键参数:
Program:自己的designer.exe路径 例如 C:\xxxx\AppData\Local\Programs\Python\Python35-32\Lib\site-packages\pyqt5-tools\designer.exe
Working directory:$ProjectFileDir$
PyUIC:
配置三个关键参数:
Program:自己的python.exe路径 例如 C:\xxxx\AppData\Local\Programs\Python\Python35-32\python.exe
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$ProjectFileDir$
工具建立成功后返回ExternalTools界面,如下:
返回主界面,Tools->ExternalTools 中新增了QTdesigner 和 PyUIC两个工具
4、PyCharm中通过PyQt5设计GUI界面
1)利用代码创建GUI界面
新建firstGUI.py,输入如下代码
# -*- coding: utf-8 -*-
"""第一个程序"""
from PyQt5 import QtWidgets # 导入PyQt5部件
import sys
app = QtWidgets.QApplication(sys.argv) # 建立application对象
first_window = QtWidgets.QWidget() # 建立窗体对象
first_window.resize(400, 300) # 设置窗体大小
first_window.setWindowTitle("我的第一个pyqt程序") # 设置窗体标题
first_window.show() # 显示窗体
sys.exit(app.exec()) # 运行程序
###############################################################
选择Run->Run firstGUI,结果显示如下界面就成功了。
2)利用QT Designer代码生成一个GUI界面 ,并用PyUIC转换为.py文件。
选择Tools->ExternalTools->QTdesigner,进入QT Designer界面,第一次会弹出一个GUI创建界面,点击creat 自动生成一个带下方按钮的GUI界面,如下图。
另存该界面为Utitled.ui文件。
返回PyCharm 项目界面,项目列表下多出了这个.ui文件
右键单击Utitled.ui,弹出列表中选择ExternalTools->PyUIC 就会生成Utitled.ui对应的Utitled.py文件了。内容如下
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.11.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32))
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
#############################################################################
That's All .Thankyou~
PyQt5入门的更多相关文章
- PyQt5 入门
换了VSCODE开发,感觉比sublime好点,可能是由于第三版老弹框烦人吧.VSCODE看着也挺好看的. 学习 PyQt5 中文教程 0. 安装完之后错误 pip 安装了 pyqt5 from Py ...
- PyQt5入门教程
原文链接:https://blog.csdn.net/azuremouse/article/details/90338961 问题记录: 1. pip 安装时速度太慢, 需要使用国内镜像 pip in ...
- 推荐:pyqt5入门教程
版权声明:本文为CSDN博主「AzureMouse」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/azure ...
- Python3使用PyQt5制作简单的画板/手写板
0.目录 1.前言 2.简单的画板1.0 在定点和移动中的鼠标所在处画一条线 3.简单的画板2.0 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 4.简单的画板3.0 将按住鼠标后移 ...
- Python PyQT5的入门使用
Python 3+ PyQT5的入门使用 窗口类型介绍 QMainWindow,QWidget和QDialog都是用来创建窗口的.可以直接使用也可以继承后再使用. QMainWindow 该类窗口可以 ...
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
- 二、PyQt5基本功能和操作入门
在这里,我将根据自己的学习历程从初级到高级介绍pyqt5.因为是学到哪里就写道哪里,所以内容排版比较随意.有两点问题需要先说明: 1.虽然界面的设计可以借助qt designer进行拖拽创建,并且可以 ...
- PyQt5编程入门
1 25行的弹出式闹钟 import sys import time from PyQt5 import QtCore from PyQt5.QtWidgets import QLabel from ...
- [ PyQt入门教程 ] PyQt5环境搭建和配置
PyQt入门系列教程主要目的是希望通过该系列课程学习,可以使用PyQt5工具快速实现简单的界面开发,包括界面设计.布局管理以及业务逻辑实现(信号与槽).简单说就是可以使用PyQt5工具快速画一个控件摆 ...
随机推荐
- 必须要注意的 C++ 动态内存资源管理(二)——指针对象简单实现
必须要注意的 C++动态内存资源管理(二)——指针对象简单实现 四.拷贝类型的资源 上节我们说过,对于图片类型的资源我们有时候往往采用拷贝(如果对于那种公共图片,可能采用唯一副本,提供 ...
- 软件定义网络基础---REST API概述
一:什么是REST API REST API是北向接口的主流设计方式 API是应用程序编程接口,是预先定义好的函数,可以供应用程序或开发人员访问调用 年 Roy Thomas Fielding 的博士 ...
- post 发送方式
/** * post 方式 解码 */ public static String getWebContentByPost(String urlString, String data, final St ...
- 日志分类以及TFIDF
TF的概念是Term Frequent,是一个单词出现的频率,是一个局部概念,就是这个单词在指定文件中出现的频率,公式如下: 但是呢,这个TF其实很没有说服力,比如the,a之类的频率很高,但是其实不 ...
- ServletRequest与HttpServletRequest
ServletRequest 解析:代表来自客户端的请求.当Servlet容器接收到客户端的要求访问特定Servlet的请求时,容器先解析客户端的原始请求数据,把它包装成一个ServletReques ...
- harbor镜像仓库-https访问配置
1. 证书的生成 在测试或开发环境中,您可以选择使用自签名证书,而不是来自受信任的第三方CA的证书.以下内容将向您展示如何创建自己的CA,并使用您的CA签署服务器证书和客户端证书. 1.1 生成c ...
- 【Python学习之三】流程控制语句
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.条件分支if <条件判断1>: & ...
- MySQL8.0.16 单机 Linux安装以及使用
安装 先去下载 https://dev.mysql.com/downloads/mysql/ 然后上传到Linux 进入存放目录,解压到指定目录[我这里是/soft/mysql8] [root@loc ...
- TZOJ5697: 数据结构实验:归并排序
#include<stdio.h> #include<stdlib.h> void merge(int a[], int start,int mid,int end) { )) ...
- golang 执行命令行(二)--修改进程启动用户
继续上文所述,有时候我们需要设置进程的启动用户,操作与设置进程组的方式类似,不多说直接上代码: // 修改进程的执行用户 func withUserAttr(cmd *exec.Cmd, name s ...