1

現在、Python で QT-gui を設計しており、ユーザーが 2 つの QListWidget 間で QListWidgetItems を切り替えられるようにしたいと考えています。複数選択(CTRL)が可能で、切り替えは2つのコントロールボタンで行います。

QT4-Designer では、リストは次のようになります

たとえば、ユーザーが左側のリストから 2 つの項目を選択して [>] ボタンをクリックすると、その項目が右側のリストに追加され、結果として左側のリストから削除される必要があります。

現在トリガーされているボタンイベントは次のようになります。

def switchR( self ):
    itemlistSel = self.list_left.selectedItems()
    for item in itemlistSel:
        self.list_right.addItem( item )
        self.list_left.removeItemWidget( item )

しかし、何も起こりませんか?誰かが迅速な解決策を得ましたか?

4

1 に答える 1

2

このremoveItemWidget()メソッドは、期待どおりの動作をしません ( docsを参照)。を使用しtakeItem()、代わりに:addItem()row()

def switch(self):
    items = self.left.selectedItems()
    for item in items:
        n = self.left.row(item)    # get the index/row of the item
        i = self.left.takeItem(n)  # pop
        self.right.addItem(i)      # add to right QListWidget
于 2012-09-22T20:34:30.513 に答える