如何动态生成多个按钮

时间:2019-02-27 13:15:45

标签: python-2.7 pyqt4 generate

我正在尝试根据输入的数字生成按钮,但是它不起作用。因此,我编写以下代码进行测试。而且,我发现这是因为“ for”循环,我不知道为什么,该如何解决。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# python 2.7
import sys
from PyQt4 import QtGui

class test(QtGui.QWidget):
    def __init__(self, parent=None):
        super(test, self).__init__(parent)
        self.setWindowTitle("Exf")
        self.tb1 = QtGui.QTableWidget()
        self.tb2 = QtGui.QTableWidget()
        buttonlayout = QtGui.QHBoxLayout()


        for i in range(2):
            button=QtGui.QPushButton(str(i))
            button.clicked.connect(lambda :self.select(i+1,chr(97+i)))
            buttonlayout.addWidget(button)
        buttonlayout.addWidget(self.tb1)
        buttonlayout.addWidget(self.tb2)

        self.setLayout(buttonlayout)

    def select(self,n,txt):
        self.tb1.setRowCount(n)
        self.tb1.setColumnCount(n)
        self.tb2.setRowCount(n)
        self.tb2.setColumnCount(n)
        self.tb1.setItem(0,0,QtGui.QTableWidgetItem(txt))
        self.tb2.setItem(0,0,QtGui.QTableWidgetItem(txt))


def main():
    app = QtGui.QApplication(sys.argv)
    mainwindow=test()
    mainwindow.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

0 个答案:

没有答案