PyQt5中如何为tableWidge传递消息
发表在Python图书答疑
2019-12-25
《Python项目开发案例集锦》第10章 RCQ读者书库
是否精华
是
否
版块置顶:
是
否
def show_table(self): for k in range(int(len(self.table_list)/2)): # 添加行 self.tableWidget.insertRow(k) # 设置第一列 self.tableWidget.setItem(k, 0, QtWidgets.QTableWidgetItem(self.table_list[k*2])) # 设置第二列 self.tableWidget.setItem(k, 1, QtWidgets.QTableWidgetItem(self.table_list[k*2+1])) #将文件显示在List列表中 def show_list(self): for i in range(int(len(self.table_list) / 2)): # 创建列表项 self.item = QtWidgets.QListWidgetItem(self.listWidget) # 创建列表项 self.item.setIcon(QtGui.QIcon('note.ico')) # 设置列表项图标 self.item.setText(self.table_list[i*2+1][0:5] + '..') # 截取字符串,只显示5个字符 self.item.setToolTip(str(i)) # 设置提示文字 self.item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) # 设置选中与否 # 自定义函数,根据i的值找到标题和日期 def search_title(self, item): str_i = int(item.toolTip()) title = self.table_list[str_i*2+1] dir_date = self.table_list[str_i*2] return title, dir_date # 列表单击方法,用来打开选中的项 def itemClick(self, item): title, dir_date = self.search_title(item) os.startfile(self.lineEdit_dir.text() + '\\reader_library\\' + dir_date + '\\' + title + '.txt') # 表格单击方法,用来打开选中的项 def tableClick(self, item): pass
问题: list那个表我已经建立好了, 但是table表 想按照原来的思路做不成, 没有item和Tooltips, 希望老师指点一下.
其他:
其中代码的table_list是我自己建立的列表, 格式: ['2019-12-25','今天是圣诞节.txt','2019-12-24','今晚是平安夜.txt']
原来提供的读者网站已经挂了, 我自己找了一个, 按照自己的思路来的, 奈何一点pyqt5都不懂 , bug很多, 还请老师指点.另外我的connect报黄, 而源码是没这个问题的, 不太清楚怎么回事.
于2019-12-25 16:03:32编辑