PyQt:表格控件与列表控件间的映射

1 投票
1 回答
607 浏览
提问于 2025-04-17 21:55

我在想有没有什么函数可以帮助解决上面提到的问题。基本上,当一个 GUI(包含列表和表格的界面)启动时,用户每点击列表中的一个项目,表格也应该能显示与该列表项目对应的数据。下面的例子可以帮助更好地理解。

有时候,用户可能会删除、修改或添加列表或表格中的数据。我也想实现一个功能来收集这些数据。目前,我在考虑使用 Python 的列表和字典来实现。

1 个回答

0

你可以这样做:

  • 使用 QListWidget.itemClicked 这个信号。
  • 把它连接到一个函数,这个函数需要一个 QListWidgetItem 作为参数。
  • 识别出这个项目,然后根据需要进行相应的操作。

示例

    ...
    self.myListWidget.itemClicked.connect(self.showDataInTable)
    ....

def showDataInTable(item):
    item_name = str(item.text()) # getting item name as python string

    ... # show data or do what ever you like
    dataToShow = myDataDict[item_name]

撰写回答