python光学仿真PyQt5基础框架教程

 更新时间:2021年10月28日 16:28:33   作者:勤奋的大熊猫  
这篇文章主要为大家介绍了python光学仿真之PyQt5基础框架教程,文中含有详细实现示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助

前几天为了自己搞一个光学仿真集成GUI界面,于是去研究了一下PyQt5,不得不说这个模块的使用性远远超过了tkinter,强烈推荐,于是准备出一个专栏,记录一下PyQt5学习中遇到的小问题。

这篇先来说说PyQt5创建时候的基础框架。代码如下:

# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.resize(600, 300)
        self.status = self.statusBar()
        self.status.showMessage("这是状态提示", 10000)
        self.setWindowTitle("MainWindow界面")
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

以上就是我们PyQt5主界面的基本框架了,先创建一个类,使用这个类对QMainWindow类进行继承。

其他语句的解释:

self.resize(600,300):对MainWindow进行尺寸调整,横向600个像素点,纵向300个像素点。

self.status = self.statusBar():创建一个状态栏对象

self.status.showMessage("这是状态提示", 10000):显示状态栏信息10000毫秒,即10秒钟, 其中第一个字符串参数"这是状态提示"是最终显示在状态栏的信息,我们可以自由替换。

注意:只有当我们的鼠标在MainWindow窗口内悬停的时候才会显示该状态信息,并且如果我们想要状态栏一直显示某个信息提示,可以将第二个参数的10000改为-1即可。

self.setWindowTitle("MainWindow界面"):设定MainWindow主界面的名称。

app = QApplication(sys.argv):初始化PyQt5中的各个部分,之后我们就可以调用模块中的各个元素。类似与Pygame模块中的Initialization部分。

sys.argv:这个语句存在仅仅是为了将来我们可以在命令行中写入参数进行读取,如果我们不考虑在命令行中进行直接调用,可以将初始化程序改为app = QApplication([])。

window = MainWindow():实例化我们定义好的窗口类对象。

window.show():这句话必须存在,否则运行时我们写好的Gui界面不会显示。

用来显示我们写好的Gui界面。

sys.exit(app.exec_()):sys.exit()表示退出程序操作,app.exec_()类似于tkinter模块中定义Gui界面时进行的Mainloop(),即开始执行主循环体,配合sys.exit()退出命令可以在我们退出程序时清空内存,达到洁净模式。

最终运行后的效果如下:

MainWindow

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

以上就是python光学仿真PyQt5基础框架教程的详细内容,更多关于PyQt5基础框架的资料请关注脚本之家其它相关文章!

相关文章

  • 解决python图像处理图像赋值后变为白色的问题

    解决python图像处理图像赋值后变为白色的问题

    这篇文章主要介绍了解决python图像处理图像赋值后变为白色的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中json.load()与json.loads()方法有什么区别详解

    Python中json.load()与json.loads()方法有什么区别详解

    在读取文件时解码python的json格式,常用到json.loads()与json.load(),下面这篇文章主要给大家介绍了关于Python中json.load()与json.loads()方法有什么区别的相关资料,需要的朋友可以参考下
    2022-08-08
  • 详解Python编程中包的概念与管理

    详解Python编程中包的概念与管理

    这篇文章主要介绍了Python编程中包的概念与管理,包括包管理工具pip的基本安装使用,需要的朋友可以参考下
    2015-10-10
  • Python如何有效地使用迭代

    Python如何有效地使用迭代

    这篇文章主要为大家详细介绍了Python如何有效地使用迭代,文中的示例代码讲解详细,对我们深入了解Python有一定的帮助,需要的小伙伴可以学习一下
    2023-09-09
  • Python 中制作偶数列表的方法

    Python 中制作偶数列表的方法

    这篇文章主要介绍了Python 中制作偶数列表的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 浅析Python字符串索引、切片、格式化

    浅析Python字符串索引、切片、格式化

    除了数字,Python中最常见的数据类型就是字符串,无论那种编程语言,字符串无处不在。本文将为大家详细介绍Python中字符串的使用方法,需要的朋友可以参考一下
    2021-12-12
  • python如何以表格形式打印输出的方法示例

    python如何以表格形式打印输出的方法示例

    这篇文章主要介绍了python如何以表格形式打印输出的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • Python系统监控模块psutil功能与经典用法分析

    Python系统监控模块psutil功能与经典用法分析

    这篇文章主要介绍了Python系统监控模块psutil功能与经典用法,简单讲述了psutil模块的功能、原理并结合具体实例形式分析了Python使用psutil模块针对CPU、内存、磁盘、网络等信息的读取相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • Python socket模块方法实现详解

    Python socket模块方法实现详解

    这篇文章主要介绍了Python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python 限制线程的最大数量的方法(Semaphore)

    Python 限制线程的最大数量的方法(Semaphore)

    今天小编就为大家分享一篇Python 限制线程的最大数量的方法(Semaphore),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论