PySide6 动态创建按钮数组

动态创建按钮数组在许多场合非常有用,特别是当你需要根据用户输入、数据量或其它条件来生成界面元素时;

本篇将演示如何使用PySide6来动态的创建按钮数组,并正确响应对应按钮的点击信号;

示例代码

import sys
from PySide6.QtCore import Slot
from PySide6.QtWidgets import (QApplication, QWidget, 
    QPushButton, QStyleFactory,QVBoxLayout)

class MainWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.resize(300, 200)
        self.setWindowTitle("动态创建QPushButton数组")

        self.buttons = []

        layout = QVBoxLayout()
        for i in range(5):
            button = QPushButton(f"Button {i}")
            button.clicked.connect(self.buttonClicked)
            self.buttons.append(button)
            layout.addWidget(button)

        self.setLayout(layout)

    @Slot()
    def buttonClicked(self):
        button = self.sender()
        index = self.buttons.index(button)
        print(f"第{index}个按钮被点击")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.setStyle(QStyleFactory.create("Fusion"))
    window = MainWidget()
    window.show()
    sys.exit(app.exec())

程序运行效果

pyside6动态创建按钮

这段代码中,创建了5个按钮,这些按钮的clicked信号连接到同一个槽函数,并将按钮的实例对象保存到数组中;当按钮被点击时,可通过self.sender()方法获取发送该信号的信号源,即发出该信号的对象,这样就能知道哪个按钮被点击;

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/pyside6-widgets/qpushbutton-array.html

分类: 计算机技术
推荐阅读:
C语言isspace()函数:判断字符是否为空白字符 isspace()是C语言标准库中的一个函数,用于判断一个字符是否为空白字符;当字符参数是一个空白字符时,返回一个非0值,否则返回0;
Rust函数返回多个值 在Rust中,函数可以返回一个元组,这个元组可以包含多个值;
C++11使用标准库获取CPU物理核心数、动态创建线程 在本文中,将使用C++11标准线程库来获取CPU的物理核心数,并动态的创建和使用线程;
Windows10禁用系统更新 Windows10禁用系统自动更新方法如下:
一条Linux命令生成一个指定长度的随机密码 在Linux系统下,你可以只需要一条命令就可以生成指定长度的随机密码:
MIPS汇编语言教程 MIPS(Microprocessor without Interlocked Pipeline Stages)是一种基于RISC(Reduced Instruction Set Computer,精简指令集计算机)体系结构的微处理器架构。MIPS的设计理念是简化指令集,减少指令执行时间和硬件开销,提高处理器性能和效率。