我正在尝试根据输入的数字生成按钮,但是它不起作用。因此,我编写以下代码进行测试。而且,我发现这是因为“ 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()