PyQt6点击按钮弹窗小程序分享

2024-01-18 10:06:30 浏览数 (1)

学了一段时间的PyQt6,写了一个初见雏形的小程序,点击按钮,随即进行弹窗,显示内容,可以用来简单的送祝福或者整蛊朋友。同样以此为基础做一个抽奖小程序也是可以的

那么现在就开始分享这个程序,

打算分为两个板块来详细介绍,第一个是详细分析这个程序,第二个是整个程序完整代码

分步骤介绍

代码语言:python代码运行次数:0复制
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QMessageBox

导入必要的模块

定义一个类

代码语言:python代码运行次数:0复制
class Application(QWidget):
    def __init__(self):
        super().__init__()

        self.init_ui()

定义了一个名为 Application 的类,继承自 QWidget。

构造函数 init 中调用了 init_ui 方法。

初始化用户界面模块

代码语言:python代码运行次数:0复制
def init_ui(self):
    # 创建按钮
    button = QPushButton('输入任意文本', self)
    button.clicked.connect(self.show_message)  # 连接按钮的点击事件

    # 设置窗口布局
    layout = QVBoxLayout(self)
    layout.addWidget(button)

    # 设置窗口基本属性
    self.setGeometry(300, 300, 300, 200)
    self.setWindowTitle('窗口名')
    self.show()

显示消息模块

代码语言:python代码运行次数:0复制
def show_message(self):
    # 弹出提示框
    QMessageBox.information(self, '显示消息(任意你想显示的文本)')

完整程序

代码语言:python代码运行次数:0复制
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QMessageBox

class MyApplication(QWidget):
    def __init__(self):
        super().__init__()

        self.init_ui()

    def init_ui(self):
        # 创建按钮
        button = QPushButton('任意文本', self)
        button.clicked.connect(self.show_message)  # 连接按钮的点击事件

        # 设置窗口布局
        layout = QVBoxLayout(self)
        layout.addWidget(button)

        # 设置窗口基本属性
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('任意文本')
        self.show()

    def show_message(self):
        # 弹出提示框
        QMessageBox.information(self, '任意文本', '任意文本')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    my_app = MyApplication()
    sys.exit(app.exec())

以此为基础进行改动拓展可以写一个抽奖小程序,一下是程序的完整代码:

抽奖小程序

代码语言:python代码运行次数:0复制
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QMessageBox

class Application(QWidget):
    def __init__(self):
        super().__init__()

        self.init_ui()

    def init_ui(self):
        # 创建按钮
        button1 = QPushButton('1', self)
        button1.clicked.connect(self.show_message1)
        button2 = QPushButton('2', self)
        button2.clicked.connect(self.show_message2)  # 连接按钮的点击事件
        button3 = QPushButton('3', self)
        button3.clicked.connect(self.show_message3)
        # 设置窗口布局
        layout = QVBoxLayout(self)
        layout.addWidget(button1)
        layout.addWidget(button2)
        layout.addWidget(button3)

        # 设置窗口基本属性
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('抽奖程序')
        self.show()

    def show_message1(self):
        # 弹出提示框
        QMessageBox.information(self, '开奖', '一等奖')
    def show_message2(self):
        # 弹出提示框
        QMessageBox.information(self, '开奖', '二等奖')
    def show_message3(self):
        # 弹出提示框
        QMessageBox.information(self, '开奖', '谢谢')
if __name__ == '__main__':
    app = QApplication(sys.argv)
    my_app = Application()
    sys.exit(app.exec())

0 人点赞