和螃蟹猜拳🌚
若有别无
爱自己,爱生活,爱妹纸,大爱各种好吃好玩的
关注数: 17
粉丝数: 25
发帖数: 710
关注贴吧数: 40
为什么使用for循环给tablewidget调用setitem加数据就崩溃 为什么使用for循环给tablewidget调用setitem加数据就崩溃呢?有没有大神可以帮忙看看代码哪里出错了? 直接调用类的additem函数可以加数据,但是调用类的additem2函数就崩溃了。。。 代码如下: from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import * import sys import time class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(1130, 799) self.tableWidget = QtWidgets.QTableWidget(Form) self.tableWidget.setGeometry(QtCore.QRect(10, 10, 751, 711)) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(2) self.tableWidget.setRowCount(100) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(1, item) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(860, 80, 93, 28)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(860, 120, 93, 28)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton_3 = QtWidgets.QPushButton(Form) self.pushButton_3.setGeometry(QtCore.QRect(860, 160, 93, 28)) self.pushButton_3.setObjectName("pushButton_3") self.retranslateUi(Form) self.pushButton.clicked.connect(self.additem) self.pushButton_2.clicked.connect(self.additem2) QtCore.QMetaObject.connectSlotsByName(Form) def additem(self): self.tableWidget.setItem(0, 0, QTableWidgetItem('我是问题')) self.tableWidget.setItem(0, 1, QTableWidgetItem('我是答案')) def additem2(self): hd1 = '问题1 + houzhui' hd2 = '问题2 + houzhui' hd3 = '问题3 + houzhui' hd4 = '问题4 + houzhui' hd5 = '问题5 + houzhui' hd6 = '问题6 + houzhui' hd7 = '问题7 + houzhui' hd8 = '问题8 + houzhui' hd9 = '问题9 + houzhui' hd10 = '问题10 + houzhui' wt1 = '回答1' wt2 = '回答2' wt3 = '回答3' wt4 = '回答4' wt5 = '回答5' wt6 = '回答6' wt7 = '回答7' wt8 = '回答8' wt9 = '回答9' wt10 = '回答10' wenda = {} wenda = {wt1: hd1, wt2: hd2, wt3: hd3, wt4: hd4, wt5: hd5, wt6: hd6, wt7: hd7, wt8: hd8, wt9: hd9, wt10: hd10} for i in range(len(wenda)): for j in range(2): print(str(i)+','+str(j)+'可以添加项目了') time.sleep(1) print('正在添加项目') time.sleep(1) for key,value in wenda.items(): print('现在添加') self.tablewidget.setItem(i, j, QTableWidgetItem(wenda.items(key))) self.tablewidget.setItem(i,j+1, QTableWidgetItem(wenda.items(value))) print('问答添加完毕') def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) item = self.tableWidget.horizontalHeaderItem(0) item.setText(_translate("Form", "问题")) item = self.tableWidget.horizontalHeaderItem(1) item.setText(_translate("Form", "答案")) self.pushButton.setText(_translate("Form", "单一填充")) self.pushButton_2.setText(_translate("Form", "批量填充")) self.pushButton_3.setText(_translate("Form", "导出")) if __name__ == '__main__': app = QApplication(sys.argv) form = QWidget(QTableWidget) ui2 = Ui_Form() ui2.setupUi(form) form.show() sys.exit(app.exec_())
请问下为什么窗口A的控件给窗口B控件添加项目会导致奔溃 请问下为什么窗口A的控件按钮1被点击后,调用槽函数给给窗口B的tableWidget控件添加item项目会导致程序奔溃呢?但是我单独在窗口B里面调用槽函数给tableWidget控件添加item项目又没问题哦。请问这是什么原因呢?
1
下一页