python - PyQt5 列表小部件。单击 listWidget 上的一个项目,但将另一个项目传递给函数
问题描述
我有一个填充了日期的 ListWidget。我还想包含一个不显示的隐藏值(mysql 行 id),但是当我单击一个日期时,我想将隐藏的行 id 传递给函数。这样的事情可能吗?我目前正在使用以下方法来调用我的函数:
self.listWidget_entries.itemClicked.connect(self.get_memo_details)
解决方案
它可能看起来像这样:
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class MyWin(QMainWindow):
def __init__(self):
super().__init__()
centralWidget = QWidget()
self.setCentralWidget(centralWidget)
self.rowId = 777 # <---
self.listWidget = QListWidget()
self.listWidget.itemClicked.connect(
lambda it, rowId=self.rowId : self.listWidgetClicked(it, rowId)) # <---
self.layout = QVBoxLayout(centralWidget)
self.createListWidget()
def createListWidget(self):
for it in ["item1", "item2", "item3"]:
self.listWidget.addItem(QListWidgetItem(it))
self.layout.addWidget(self.listWidget)
@pyqtSlot()
def listWidgetClicked(self, item, rowId ): # <---
print('click -> {}, rowId=`{}`'.format(item.text(), rowId))
if __name__=="__main__":
import sys
app = QApplication(sys.argv)
myapp = MyWin()
myapp.show()
sys.exit(app.exec_())
推荐阅读
- intellij-idea - 如何使用 xpath 查找和替换并使用 intellij 限制我的范围?
- matlab - 如何在 Matlab 中正确地在 CT 正弦图上添加泊松噪声。
- reactjs - 关于 Redux-form 文本输入的建议
- vim - Vim:需要一个按名称切换到活动缓冲区的函数
- kubernetes - 使用特定命令启动容器失败
- r - R - 比较来自 2 个数据帧的值
- mysql - 如何使用复合键从一个表中提供对另一个表的引用
- c# - 无法将 SmartCard 与 winscard.dll 连接?
- r - 在 R 中聚合每个组的唯一字符值
- javascript - 如何在一个文件中加入两个以上分离的 JS 库