u3.py
-- coding: utf-8 --
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(“MainWindow”)
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName(“centralwidget”)
self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
self.tableWidget.setGeometry(QtCore.QRect(140, 180, 441, 241))
self.tableWidget.setObjectName(“tableWidget”)
self.tableWidget.setColumnCount(4)
self.tableWidget.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(3, item)
self.comboBox = QtWidgets.QComboBox(self.centralwidget)
self.comboBox.setGeometry(QtCore.QRect(130, 90, 69, 22))
self.comboBox.setObjectName(“comboBox”)
self.comboBox.addItem("")
self.comboBox.setItemText(0, “”)
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox_2 = QtWidgets.QComboBox(self.centralwidget)
self.comboBox_2.setGeometry(QtCore.QRect(300, 90, 69, 22))
self.comboBox_2.setObjectName(“comboBox_2”)
self.comboBox_2.addItem("")
self.comboBox_2.setItemText(0, “”)
self.comboBox_2.addItem("")
self.comboBox_2.addItem("")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
self.menubar.setObjectName(“menubar”)
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName(“statusbar”)
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "新建列"))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "性别"))
item = self.tableWidget.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "新建列"))
item = self.tableWidget.horizontalHeaderItem(3)
item.setText(_translate("MainWindow", "出生日期"))
self.comboBox.setItemText(1, _translate("MainWindow", "一车间"))
self.comboBox.setItemText(2, _translate("MainWindow", "二车间"))
self.comboBox_2.setItemText(1, _translate("MainWindow", "CNC01"))
self.comboBox_2.setItemText(2, _translate("MainWindow", "CNC02"))
testu3.py
from PyQt5.QtWidgets import QApplication, QMainWindow, QComboBox, QPushButton, QTableWidgetItem
import sys
from u3 import Ui_MainWindow
class Window(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(Window, self).__init__(parent)
self.u1()
# self.retranslateUi(self)
def u1(self):
self.setupUi(self)
self.comboBox_2.currentIndexChanged.connect(self.n1)
def n1(self, index=None):
print(index)
self.tableWidget.clearContents()
for i in range(self.tableWidget.rowCount()):
self.tableWidget.removeRow (i)
self.tableWidget.clear()
if index==1:
liss = [[1,2,3,4],[11,22,33,44],[111,222,333,444],[1111,2222,3333,4444]]
else:
liss = [["a","b","c","d"],["a1","a2","a3","a4"],["b1","b2","b3","b4"]]
for i in range(len(liss)):
self.tableWidget.insertRow(i)
for j in range(len(liss[i])):
if j == 1:
comBox = QComboBox()
comBox.addItems(['男', '女'])
comBox.addItem('未知')
comBox.setStyleSheet('QComboBox{margin:3px}')
self.tableWidget.setCellWidget(i, 1, comBox)
elif j == 2:
searchBtn = QPushButton('修改')
searchBtn.setDown(True)
searchBtn.setStyleSheet('QPushButton{margin:3px}')
self.tableWidget.setCellWidget(i, 2, searchBtn)
else:
newItem = QTableWidgetItem(str(liss[i][j]))
self.tableWidget.setItem(i, j, newItem)
self.tableWidget.itemChanged.connect(self.n2)
def n2(self, item=None):
if item:
self.tableWidget.item(item.row(), 3).setText("9999999999")
print( item )
# self.tableWidget.item()
# self.tableWidget.
if name == ‘main’:
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
求大神指导一下,为什么选择下拉列表后程序会崩溃,有没有解决办法???在线等急用!!!