通过显示一个窗口来了解PyQt5程序的基本框架。创建一个应用、创建一个QWidget类的窗口、创建一些控件、show等。

显示一个窗口

要求:

  • 显示一个500*500的窗口
  • 窗口标题栏"人生苦短,我用Python"
  • 添加标签控件,显示“Hello,PyQt”

方式: 纯手写代码,不适用Designer

# -*- coding: UTF-8 -*-
from PyQt5.Qt import *
import sys

# 创建一个应用
app = QApplication(sys.argv)

# 创建一个QWidget类的窗口
window = QWidget()
window.setWindowTitle("人生苦短,我用Python")  # 标题
window.resize(500, 500)                     # 窗口的大小
window.move(400, 200)                       # 窗口初次显示的位置

# 创建标签
label = QLabel(window)
label.setText("Hello,PyQt")                # 标签里的内容
label.move(200, 200)                        # 标签在窗口的位置

window.show()                               # 显示窗口,不然啥也没有

sys.exit(app.exec_())  

运行窗口的效果

程序的基本结构(代码解释)

  • 1、万国码

    # -*- coding: UTF-8 -*-

    使用万国码是为了解决中文会出现的乱码问题

  • 2、导包

    from PyQt5.Qt import *
    import sys

    直接导入完整的PyQt5.Qt是一种懒惰的方法,但是很方便,就是把PyQt常用的包直接全部导入。

    sys模块包含了与Python解释器和它的环境有关的函数。

  • 3、创建一个应用

    app = QApplication(sys.argv)

    sys.argv是一组命令行参数的列表。Python可以在shell里运行,这个参数提供对脚本控制的功能。我也不是很懂啥意思,反正写程序的时候先写上就完事了。尝试打印一下值,发现就是这个脚本的全路径。

    sys.argv的值

    更新:当别人使用命令行启动这个程序的时候,可以用来接受参数,因为这个是个列表,因而可以通过索引来判断执行不同的任务。

    argv的值

  • 4、控件操作(主体部分)

    # 创建一个QWidget类的窗口
    window = QWidget()
    window.setWindowTitle("人生苦短,我用Python")  # 标题
    window.resize(500, 500)                     # 窗口的大小
    window.move(400, 200)                       # 窗口初次显示的位置
    
    # 创建标签
    label = QLabel(window)
    label.setText("Hello,PyQt")                # 标签里的内容
    label.move(200, 200)                        # 标签在窗口的位置

    创建控件、设置控件(大小、位置、样式...)、事件、信号处理等一系列操作。在下一节会详细介绍。

  • 5、显示窗口

    这个一定要有,不然写的啥也看不到。

    window.show() 
  • 6、整个程序进入消息循环,防止闪退

    sys.exit(app.exec_())

    app.exec_()进入消息循环之后,不断检测用户的操作和交互信息,实时监听,死循环。

    退出之后,返回退出码。


博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/PyQt5-Window-Structure.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 06 月 15 日
如果觉得我的文章对你有用,请随意赞赏