PyQt6 简单示例

2025-01-09  本文已影响0人  河码匠

一个简单的窗口包含一个按钮,点击按钮时弹出对话框

import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QMessageBox

def on_button_click():
    # 创建一个消息框
    msg = QMessageBox()
    msg.setIcon(QMessageBox.Icon.Information)
    msg.setText("按钮被点击了!")
    msg.setWindowTitle("消息框")
    msg.exec()

app = QApplication(sys.argv)  # 创建应用对象

# 创建窗口
window = QWidget()
window.setWindowTitle("PyQt6 示例")  # 标题
window.resize(300, 200) # 窗口宽高

# 创建布局
layout = QVBoxLayout()

# 创建按钮并绑定点击事件
button = QPushButton("点击我")
button.clicked.connect(on_button_click)  # 将按钮点击事件与 Slots 函数绑定

# 将按钮添加到布局中
layout.addWidget(button)

# 设置窗口的布局
window.setLayout(layout)

# 显示窗口
window.show()

sys.exit(app.exec())  # 启动事件循环

说明

  1. QApplication:

    • QApplication(sys.argv) 创建一个应用对象,这是 PyQt6 应用程序的基础。应用对象负责管理应用程序的控制流、窗口以及所有资源的分配。
    • sys.argv 是命令行参数,通常在创建应用时传入。对于大多数 PyQt6 程序,可以直接传入 sys.argv
  2. QWidget:

    • QWidget 是所有窗口类的基类。window = QWidget() 创建了一个空白的窗口对象。
    • window.setWindowTitle("PyQt6 示例") 设置窗口的标题。
    • window.resize(300, 200) 设置窗口的尺寸,300px 宽,200px 高。
  3. QPushButton:

    • QPushButton("点击我") 创建一个按钮控件,按钮的标签是 "点击我"。
    • button.clicked.connect(on_button_click) 将按钮的点击信号 (clicked) 连接到 on_button_click 函数。当按钮被点击时,会执行该函数。
  4. QVBoxLayout:

    • QVBoxLayout() 创建一个垂直布局管理器。布局管理器负责控制控件(例如按钮)在窗口中的位置。
    • layout.addWidget(button) 将按钮添加到垂直布局中。布局管理器会自动处理控件的排列。
  5. QMessageBox:

    • QMessageBox 是一个标准的消息框,用于显示提示或警告信息。它常用于向用户显示信息或警告。
    • msg.setIcon(QMessageBox.Icon.Information) 设置消息框的图标为信息图标。
    • msg.setText("按钮被点击了!") 设置消息框显示的文本内容。
    • msg.setWindowTitle("消息框") 设置消息框的标题。
    • msg.exec() 显示消息框并启动事件循环,直到用户关闭消息框。
  6. 事件循环 (app.exec()):

    • app.exec() 启动事件循环,这是 PyQt6 程序的核心。事件循环会等待用户的输入事件(如点击按钮、键盘输入等),并相应地触发信号与槽机制。
上一篇 下一篇

猜你喜欢

热点阅读