当前位置: 首页 > article >正文

[01-04-02].第20节:PyQt5库初识及实现简易计算器

Qt5学习大纲


一、概念:

1.1.应用程序介绍:

  • 常见的应用程序:
    在这里插入图片描述
  • 应用程序打开后,会有一个 窗口,这个叫做主窗口
    在这里插入图片描述

1.2.需求说明:

在这里插入图片描述


二、PyQt5库介绍:

2.1.启动应用程序绘制窗口

a.导入PyQt5库

  • 1.在PyQt5库中具有很多的零部件,我们只有先导入PyQt5库后才可以从库中取出需要的零件,导入PyQt5库的方式是:from PyQt5.QT import *
    在这里插入图片描述

b.创建桌面应用程序对象:

  • 1.创建桌面应用程序对象使用QApplication([])类实现
  • 1.app = QApplication([])类实现 :其参数必须是一个空列表,我们把QApplication([])类创建的对象临时保存在变量app中
    在这里插入图片描述

c.绘制主窗口:

  • 绘制主窗口:window = QMainWindow(),主窗口创建完毕后默认是不显示的
  • 设置显示主窗口:window.show()

d.启动应用程序:

  • 启动方式是app.exec_()
    在这里插入图片描述

2.2.设置窗口的属性:

a.设置窗口的大小:

  • 代码:window.setFixedSize(400,500)
    在这里插入图片描述

b.设置窗口标题:

  • window.setWindowTitle("计算机")
    在这里插入图片描述

2.3.在窗口上添加画板widget:

  • 1.我们要实现在窗口中进行操作,就必须要先在窗口中添加widget画板,首先先创建widget对象
widget = QWidget()
  • 2.加入到窗口,居中显示
window.setCentralWidget(widget)
  • 3.给widget设置背景色:
window.setStyleSheet("background-color:yellow;")
  • 4.给widget中添加图片:
    在这里插入图片描述

2.4.在画板widget基础上添加控件:

a.添加文本框控件:

  • 文本框特点:可以输入一行数据,可以编辑和修改
    在这里插入图片描述
  • 2.ledit = QLineEdit(widget):实现添加文本框到画板widget中,设置文本框为只读:ledit.setReadOnly(True)
    在这里插入图片描述

b.添加按钮控件:

  • 1.按钮只有点击功能,不可以编辑
    在这里插入图片描述
  • 2.btn = QPushButton('1', widget):设置文本框创建按钮并设置按钮文字为1
    在这里插入图片描述

c.利用布局定位控件:

  • 1.可以看到截图中的按钮和文本框是挤在一起的,面板中原本是布局定位器的,所以我们在添加布局定位器后,就相当于在面板上又加了一层,添加了一层橫行数列的布局layout通过布局定位器来控制控件的布局
    在这里插入图片描述
  • 2.添加按钮控件过程:
    在这里插入图片描述
  • 3.添加文本框控件过程
    在这里插入图片描述

2.5.总结:

在这里插入图片描述


三、Qt5.开发简易计算器:

3.1.计算器需求:

在这里插入图片描述


3.2.知识回顾:

  • 复习二维列表的遍历:
    在这里插入图片描述

3.3.编码实现:

a.批量生成按钮:

  • 1.在遍历列表的时候,创建按钮,然后添加到画板中
    在这里插入图片描述

b.问题改善:

  • 2.上述代码实现后发现第1行的按钮和文本框重复占用第一行,所以我就需要按钮从第二行开始布局,对代码进行改善后,如下所示:
    在这里插入图片描述

http://www.kler.cn/a/596774.html

相关文章:

  • 数智读书笔记系列022《算力网络-云网融合2.0时代的网络架构与关键技术》读书笔记
  • css基础-浮动
  • 【工具变量】全国地级市克鲁格曼专业化指数数据集(2006-2023年)
  • 基于蒙特卡洛方法的网格世界求解
  • 使用netDxf扩充LaserGRBL使它支持Dxf文件格式
  • 在刀刃上发力:如何精准把握计划关键节点
  • uniapp 微信小程序 手机号快速验证组件 解密 encryptedData 获取手机号
  • docker速通
  • OAuth 2.0认证
  • doris:负载均衡
  • 【数据预测】基于遗传算法GA的LSTM光伏功率预测 GA-LSTM光伏功率预测【Matlab代码#91】
  • OpenHarmony 开源硬件学习全指南:从入门到实战
  • JAVA - OJ沙箱(JAVA默认模板沙箱,JAVA操作dokcer沙箱)
  • MacOS安装 nextcloud 的 Virtual File System
  • LangChain组件Tools/Toolkits详解(6)——特殊类型注解Annotations
  • llama源码学习·model.py[4]Attention注意力(2)源码分析
  • 洛谷 [语言月赛 202503] 题解(C++)
  • (滑动窗口)算法训练篇11--力扣3.无重复字符的最长字串(难度中等)
  • ROM(只读存储器) 、SRAM(静态随机存储器) 和 Flash(闪存) 的详细解析
  • Centos编译升级libcurl