zoukankan      html  css  js  c++  java
  • PyQt5入门:Hello World!

    什么是PyQt5?

    PyQt5是一套Python绑定Digia QT5应用的框架。PyQt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。PyQt5是双重许可。开发者可以在GPL和商业许可之间进行选择。

    PyQt5安装

    通过conda安装PyQt5

    conda install pyqt

    通过pip安装PyQt5

    pip install pyqt5

     示例

    简单的窗口

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        w = QWidget()
        w.resize(250, 150)
        w.move(300, 300)
        w.setWindowTitle('Simple')
        w.show()
    
        sys.exit(app.exec_())

    代码解释
    这里导入了PyQt5.QtWidgets这个组件模块

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget

    每个PyQt5应用都必须创建一个应用对象。sys.argv是一组命令行参数的列表。Python可以在shell里运行,这个参数提供对脚本控制的功能。

    app = QApplication(sys.argv)

    QWidge控件是一个用户界面的基本控件,它提供了基本的应用构造器。默认情况下,构造器是没有父级的,没有父级的构造器被称为窗口(window)。

    w = QWidget()

    resize()方法能改变控件的大小,这里的意思是窗口宽250px,高150px。

    w.resize(250, 150)

    move()是修改控件位置的的方法。它把控件放置到屏幕坐标的(300, 300)的位置。注:屏幕坐标系的原点是屏幕的左上角。

    w.setWindowTitle('Simple')

    我们给这个窗口添加了一个标题,标题在标题栏展示

    w.show()

    最后,我们进入了应用的主循环中,事件处理器这个时候开始工作。主循环从窗口上接收事件,并把事件传入到派发到应用控件里。当调用exit()方法或直接销毁主控件时,主循环就会结束。sys.exit()方法能确保主循环安全退出。外部环境能通知主控件怎么结束。

    sys.exit(app.exec_())

    运行结果
    example1

    带按钮的窗口

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        w = QWidget()
        layout = QHBoxLayout()
        btn = QPushButton("Hello World!")
        layout.addWidget(btn)
        w.setLayout(layout)
        w.resize(250, 150)
        w.move(300, 300)
        w.setWindowTitle('Simple')
        w.show()
    
        sys.exit(app.exec_())

    代码解释
    QHBoxLayout类,按照从左到右的顺序来添加控件。这里新建一个水平布局

    layout = QHBoxLayout()

    新建一个按钮

    btn = QPushButton("Hello World!")

    将按钮加入布局中,布局会自己排列

    layout.addWidget(btn)

    设置主控件的布局

    w.setLayout(layout)

    运行结果

    example2

  • 相关阅读:
    Eureka 集群搭建
    Eureka 基本使用操作
    服务治理 Eureka基础认识
    docker-compose命令不存在(docker-compose not found)
    用来存放下一条将要执行的指令地址的寄存器是
    从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多
    现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个
    js正则表达式验证端口范围(0-65535)
    IDEA新建Spring配置文件的方法
    webpack-dev-server config.js Cannot find module
  • 原文地址:https://www.cnblogs.com/billshen/p/13251367.html
Copyright © 2011-2022 走看看