pyqt5的table数据添加和更新这样做为什么不对???

正在做一个PyQt的Demo,文件分为

  • add.py 添加窗口UI代码
  • fun.py 动作代码
  • phonebook.py 主页面 UI代码
  • run.py 启动文件
下面是三份文件结构图

图片上传中...

图片上传中...

图片上传中...

这是添加按钮以及对应的动作

图片上传中...

图片上传中...

确认添加的函数

图片上传中...

添加以及处理

图片上传中...

图片上传中...

有关table定义的代码
        self.studentsTableWidget = QtWidgets.QTableWidget(self)
        self.studentsTableWidget.setEnabled(True)
        self.studentsTableWidget.setGeometry(QtCore.QRect(160, 90, 961, 501))
        self.studentsTableWidget.setToolTipDuration(-1)
        self.studentsTableWidget.setStyleSheet("font: 9pt \"楷体\";")
        self.studentsTableWidget.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.studentsTableWidget.setLineWidth(1)
        self.studentsTableWidget.setRowCount(1)
        self.studentsTableWidget.setColumnCount(9)
        self.studentsTableWidget.setObjectName("studentsTableWidget")
        item = QtWidgets.QTableWidgetItem()
        font = QtGui.QFont()
        font.setUnderline(False)
        item.setFont(font)
        self.studentsTableWidget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.studentsTableWidget.setHorizontalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.studentsTableWidget.setHorizontalHeaderItem(2, item)
        item = QtWidgets.QTableWidgetItem()
        self.studentsTableWidget.setHorizontalHeaderItem(3, item)
        item = QtWidgets.QTableWidgetItem()
        self.studentsTableWidget.setHorizontalHeaderItem(4, item)
        item = QtWidgets.QTableWidgetItem()
        self.studentsTableWidget.setHorizontalHeaderItem(5, item)
        item = QtWidgets.QTableWidgetItem()
        self.studentsTableWidget.setHorizontalHeaderItem(6, item)
        item = QtWidgets.QTableWidgetItem()
        self.studentsTableWidget.setHorizontalHeaderItem(7, item)
        item = QtWidgets.QTableWidgetItem()
        self.studentsTableWidget.setHorizontalHeaderItem(8, item)
        self.studentsTableWidget.horizontalHeader().setVisible(True)
        self.studentsTableWidget.horizontalHeader().setCascadingSectionResizes(True)
        self.studentsTableWidget.horizontalHeader().setDefaultSectionSize(106)
        self.studentsTableWidget.horizontalHeader().setHighlightSections(False)
        self.studentsTableWidget.horizontalHeader().setMinimumSectionSize(54)
        self.studentsTableWidget.horizontalHeader().setSortIndicatorShown(False)
        self.studentsTableWidget.horizontalHeader().setStretchLastSection(False)
        self.studentsTableWidget.verticalHeader().setVisible(False)
        self.studentsTableWidget.verticalHeader().setHighlightSections(True)
        self.studentsTableWidget.verticalHeader().setSortIndicatorShown(False)
        self.studentsTableWidget.verticalHeader().setStretchLastSection(False)
        self.studentsTableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) #表格内容禁止编辑
        self.studentsTableWidget.setSortingEnabled(True) #设置单击表头进行数据排序
        self.studentsTableWidget.setSelectionBehavior(QAbstractItemView.SelectRows) #整行选中的方式
        self.studentsTableWidget.setSelectionMode(QAbstractItemView.ExtendedSelection) #设置可以选中多个目标

运行之后,没有报错,但是点击添加按钮,table界面无任何反应?????
github源码

求大神指教。。

阅读 9.1k
2 个回答

第一张图
addWindow = Ui_addDialog(self) #需要传入父类self或者其它命名,即你想在哪个QWidget面板上增加这个按钮控件,你不能分开写这类增加界面控件的函数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题