4

私が使用PyQt4していQListWidgetて、実行時にアイテムを追加したウィンドウがあります。ウィンドウ内のボタンを使用して、の選択を解除したいQListWidget

これを達成するためのアプローチがあるかどうか知りたいですか?

確認clear()したところlistwidgetの項目がクリアされるのですが、listwidgetの選択をクリアしたいです。

4

2 に答える 2

7

これを使用してこれを行うことができるはずですsetItemSelected()

「クリア」ボタンを含む listWidget の実際の例を次に示します。

from PyQt4 import QtGui, QtCore
import sys, random

def clear(listwidget):
    for i in range(listwidget.count()):
        item = listwidget.item(i)
        listwidget.setItemSelected(item, False)

app = QtGui.QApplication([])
top = QtGui.QWidget()

# list widget
myListWidget = QtGui.QListWidget(top)
myListWidget.setSelectionMode(2)
myListWidget.resize(200,300)
for i in range(10):
    item = QtGui.QListWidgetItem("item %i" % i, myListWidget)
    myListWidget.addItem(item)
    if random.random() > 0.5: 
        # randomly select half of the items in the list
        item.setSelected(True)

# clear button
myButton = QtGui.QPushButton("Clear", top)
myButton.resize(60,30)
myButton.move(70,300)
myButton.clicked.connect(lambda: clear(myListWidget))
top.show()

sys.exit(app.exec_())

次のようになります。

ここに画像の説明を入力

于 2013-02-26T10:56:33.210 に答える