PyQt5入门1——PyQt5的安装与Hello World应用

PyQt5入门1——PyQt5的安装与Hello World应用

  • 学习前言
  • 简介(From 百度百科)
  • 安装
  • Hello World
    • 1、窗口构建
      • a、构建基础类
      • b、编写UI
    • 2、主程序运行
  • 全部代码

学习前言

搞搞可视化界面哈,虽然不一定有用,但是搞一下。
在这里插入图片描述

简介(From 百度百科)

PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。

PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。

安装

PyQt5使用pip安装即可,不太推荐使用其它的方式安装。
使用pip会自动根据你的Python版本来选择合适的 PyQt5 版本,如果是手动下载源码安装很容易出错,pip安装方便快速哈。
由于在国内,使用国内镜像也快一些。

pip3 install PyQt5 -i https://pypi.douban.com/simple

如果anaconda有对应的虚拟环境,需要首先激活虚拟环境再进行安装,Ubuntu下也是如此。
在这里插入图片描述

Hello World

我们创建一个像这样的简单界面,标题是Hello World!内容也是。
在这里插入图片描述

1、窗口构建

a、构建基础类

QWidget类是所有用户界面对象的基类。

窗口构建需要基于QWidget类,我们将它作为父类继承下来,重写其__init__方法,在__init__方法中调用初始化UI的函数。

class Example(QWidget):def __init__(self):QWidget.__init__(self)#-----------------------------##   界面显示相关内容#-----------------------------#self.initUI()def initUI(self):pass

b、编写UI

上一步并未完成UI编写,我们在这里创建一个简单的UI,一个是标题上的Hello World,一个是PyQt5中的Hello World。
在PyQt5中,使用self.setWindowTitle可以设置UI的标题。
另外,我们可以导入QTextBrowser来写文本,使用.move方法移动文本,使用.resize缩放窗口,具体可参考下方:

def initUI(self):#-----------------------------##   初始化标题,界面大小#-----------------------------#self.resize(640, 480)self.setWindowTitle('Hello World!')#-----------------------------##   写一段话#   放到10,10#   拉伸长度为620,200#-----------------------------#self.text_browser = QTextBrowser(self)self.text_browser.move(10,10)self.text_browser.resize(620,200)self.text_browser.setText("Hello World again!")

2、主程序运行

这个是调用上述创建的Example,细节不必纠结,只需要知道这样便可以调用PyQt5即可。

if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())

全部代码

import sysfrom PyQt5.QtWidgets import (QApplication, QWidget, QTextBrowser)class Example(QWidget):def __init__(self):QWidget.__init__(self)#-----------------------------##   界面显示相关内容#-----------------------------#self.initUI()def initUI(self):#-----------------------------##   初始化标题,界面大小#-----------------------------#self.resize(640, 480)self.setWindowTitle('Hello World!')#-----------------------------##   写一段话#   放到10,10#   拉伸长度为620,200#-----------------------------#self.text_browser = QTextBrowser(self)self.text_browser.move(10,10)self.text_browser.resize(620,200)self.text_browser.setText("Hello World again!")self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/5196.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

青岛大学_王卓老师【数据结构与算法】Week03_09_线性表的链式表示和实现9_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础–…

使用Python+Flask+HTML写一个测试小工具

背景: 由于公司安全规范限制,我司的测试、预发布、灰度、生产环境,接口间的数据通信通常是加密处理的,给我们日常定位缺陷带来了一定的阻碍,因此我决定使用Python写一个工具,将加密数据转换为正常数据&…

phpstudy搭建网站,通过快解析端口映射外网访问

phpstudy是一款集成了apache、mysql、php、ftp等web平台的环境搭建工具,可以让用户轻松搭建测试和开发环境,且不必有过多的配置设置工作。使用phpstudy可以快速搭建出一个本地环境的网站,方便进行调试和开发工作。当然也可以快速搭建部署个人…

iOS开发进阶(一):走近iOS原生开发

文章目录 一、前言二、知识储备三、 Object-C四、启动流程五、拓展阅读 一、前言 在应用 uni-app 进行跨平台APP开发过程中,发现并不支持视频播放小窗功能,且插件市场提供的插件用户体验不好,遂决定自行开发 uni-app 原生插件。 uni-app原生…

Redis三种模式——主从复制、哨兵、集群

目录 一、概述 二、 Redis 主从复制 1.主从复制的作用 2. 主从复制流程 3. 搭建Redis 主从复制 3.1准备环境 3.2安装redis 3.3创建redis工作目录 3.4环境变量 3.5定义systemd服务管理脚本 3.6修改 Redis 配置文件(Master节点操作) 3.7修改 …

《C++ Primer》--学习10

反向迭代器 反向迭代器就是在容器中从尾元素向首元素反向移动的迭代器,递增一个反向迭代器会移动到前一个元素 反向迭代器需要递减运算符 我们只能从既支持也支持--的迭代器来定义反向迭代器,除了 forward_list 外的标准容器都支持 流迭代器不支持递减…

React教程(由浅到深)

文章目录 1. 基本语法1.1 初体验Hello React1.2 JSX语法的基本使用1.2.1 语句与表达式说明 1.3. React面向组件编程1.3.1 函数组件与类组件 1.4 组件实例的三大特性1.4.1 state数据存储状态1.4.2 props的使用1.4.2.1基本使用1.4.2.2 做限制类型,默认值使用1.4.2.3 简…

Gitlab 访问令牌更新 替换

引言 访问令牌到期后如何丝滑更换,或则如何更改账户的访问令牌实现权限变动呢?在我们使用访问令牌克隆项目之后,Windows凭据就帮我们记录下了密码。当然密码是不可见的,只能进行删除重新设置,通过凭据管理器进行更改。…

Spring Boot 中的 WebSocketMessageBrokerConfigurer

Spring Boot 中的 WebSocketMessageBrokerConfigurer 在现代 Web 应用程序中,WebSocket 已成为一种流行的通信协议,它允许客户端和服务器之间实时双向通信。在 Spring Boot 中,我们可以使用 WebSocketMessageBrokerConfigurer 接口来配置 We…

高考考了657分想重新复读一年,又害怕白费一年

高考考了657分想重新复读一年,又害怕白费一年。 如果你想重新复读一年,可能需要考虑到以下几点: 复读的代价:复读需要花费一年的时间和精力,而且这个过程中你可能会面临很多挑战和压力,包括学习上的、生活上…

系统架构设计师 6:数据库设计

一、数据库系统 数据库系统(DataBase System, DBS)是一个采用了数据库技术,有组织地、动态地存储大量相关联数据,从而方便多用户访问的计算机系统。广义上讲,DBS包括了数据库管理系统(DBMS)。 …

UE5 MetaHuman SDK插件的使用【二、聊天机器人】

目录 制作: 流程制作【相对复杂但逻辑清楚】: 快速制作【有个函数把上面的流程全部合在了一起,只需要用一个函数即可】 3个结构体的参数 combo后面的逻辑: 效果: ​编辑 代码 在前面的文章中,我们创…