我想使用QListWidget创建项目列表并进行设置,以便每次单击(选择)项目时执行不同的方法。我想要解决这个问题的方法是将列表连接到一个检查索引的方法,并根据项索引生成一个连接到不同方法的信号。事情是,如果我没有按钮或任何东西,我不知道如何产生这个信号。该方法只是检查项目索引。
任何建议都将不胜感激!
答案 0 :(得分:1)
直截了当的想法是将itemClicked
信号连接到一个调用方法的插槽,具体取决于所点击的索引。在这种情况下,您不需要为每个项目提供信号。
但是如果你真的想为每个项目创建一个“点击”信号并将其连接到各自的插槽,你可以这样做:
对QListWidgetItem
进行子类化并向其添加clicked
信号。 How to add custom signals
在填写QListWidget时,根据索引将每个项目与其插槽连接。
将QListWidget的itemClicked
信号连接到一个插槽,该插槽会发出单击项目的信号,如下所示:
def itemClickedSlot(item):
item.clicked.emit()