为 QListWidget 中的每个项目创建一个信号
Create a signal for each item in QListWidget
我想使用 QListWidget 创建项目列表并将其设置为每次单击 (select) 项目时都会执行不同的方法。我考虑解决这个问题的方法是将列表连接到一个方法,该方法将检查索引,并根据项目索引生成一个连接到不同方法的信号。问题是,如果我没有按钮或其他任何东西,我不知道如何生成此信号。该方法只是检查项目索引。
如有任何建议,我们将不胜感激!
直截了当的想法是将 itemClicked
信号连接到一个插槽,在该插槽中根据单击的索引调用一个方法。在这种情况下,您不需要为每个项目都提供信号。
但是如果你真的想为每个项目创建一个 "clicked" 信号并将其连接到其各自的插槽,你可以这样做:
子类 QListWidgetItem
并向其添加 clicked
信号。 How to add custom signals
在填充 QListWidget 时,根据其索引将每个项目与其插槽连接起来。
将 QListWidget 的 itemClicked
信号连接到一个插槽,它会像这样发出被点击项目的信号:
def itemClickedSlot(item):
item.clicked.emit()
我想使用 QListWidget 创建项目列表并将其设置为每次单击 (select) 项目时都会执行不同的方法。我考虑解决这个问题的方法是将列表连接到一个方法,该方法将检查索引,并根据项目索引生成一个连接到不同方法的信号。问题是,如果我没有按钮或其他任何东西,我不知道如何生成此信号。该方法只是检查项目索引。
如有任何建议,我们将不胜感激!
直截了当的想法是将 itemClicked
信号连接到一个插槽,在该插槽中根据单击的索引调用一个方法。在这种情况下,您不需要为每个项目都提供信号。
但是如果你真的想为每个项目创建一个 "clicked" 信号并将其连接到其各自的插槽,你可以这样做:
子类
QListWidgetItem
并向其添加clicked
信号。 How to add custom signals在填充 QListWidget 时,根据其索引将每个项目与其插槽连接起来。
将 QListWidget 的
itemClicked
信号连接到一个插槽,它会像这样发出被点击项目的信号:def itemClickedSlot(item): item.clicked.emit()