已有184人关注
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报黄, 而源码是没这个问题的, 不太清楚怎么回事.

cxywy_demo_5327.png


2019-12-25 16:03:32编辑
分享到:
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照