我想通过获得输入的数据传给函数,然后再利用函数输出想要的结果到tableView中。函数能print出结果,但传入tableView中时UI界面就突然自动关闭了。
烦请大神出手相助,谢谢!
代码如下:
#读取数据
db = pd.read_excel('C:/Users/Documents/Project/SQL/TBFA.xlsx')
class Where_Failed_PN(QWidget):
def __init__(self):
super(Where_Failed_PN, self).__init__()
self.ui = Ui_Where_Units()
self.ui.setupUi(self)
# 装载所有初始数据
modeldf = pandasModel(db)
self.ui.dataTable.setModel(modeldf)
#在label上显示输入UI窗口输入的数据
self.ui.PNedit.textEdited.connect(self.showText)
input=self.ui.PNedit.sender()
self.ui.PNlable.setText(input)
self.ui.PNedit.editingFinished.connect(self.inputText)
self.ui.getBtn.clicked.connect(self.inputText)
def showText(self,Text):
self.ui.PNlable.setText(Text)
self.ui.PNlable.adjustSize()
def inputText(self):
self.ui.PNedit.end(True)
inputText = self.ui.PNlable.text()
#函数输出结果
PNdata = db[(db['PartNum'] == inputText)]
print(PNdata)#在终端能显示结果,但UI窗口自动关闭了
#希望将结果显示在UI的tableView中
modeldf = pandasModel(PNdata)
self.ui.dataTable.setModel(modeldf)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = Where_Failed_PN()
main.show()
sys.exit(app.exec_())