在 QListWidget 中,我有一组条目。现在我想让用户通过两个按钮(向上/向下)对这些条目进行排序(重新排序)。
这是我的部分代码:
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.ventana = Ui_MainWindow()
self.ventana.setupUi(self)
self.connect(self.ventana.btExit, QtCore.SIGNAL('clicked()'), QtCore.SLOT('close()'))
self.connect(self.ventana.btAdd, QtCore.SIGNAL('clicked()'), self.addButton)
self.connect(self.ventana.btQuit, QtCore.SIGNAL('clicked()'), self.quitButton)
self.connect(self.ventana.btQuitAll, QtCore.SIGNAL('clicked()'), self.quitAllButton)
self.connect(self.ventana.btUp, QtCore.SIGNAL('clicked()'), self.upButton)
self.connect(self.ventana.btDown, QtCore.SIGNAL('clicked()'), self.downButton)
def addButton(self):
fileNames = QtGui.QFileDialog.getOpenFileNames(self, 'Agregar archivos')
self.ventana.listWidget.addItems(fileNames)
def quitButton(self):
item = self.ventana.listWidget.takeItem(self.ventana.listWidget.currentRow())
item = None
def quitAllButton(self):
self.ventana.listWidget.clear()
def upButton(self):
# HOW TO MOVE ITEM
最佳答案
好吧,在尝试了不同的方法之后,通过获取所选条目并将其插入到新位置来解决这个问题。
对于向上按钮是这样的:
currentRow = self.ventana.listWidget.currentRow()
currentItem = self.ventana.listWidget.takeItem(currentRow)
self.ventana.listWidget.insertItem(currentRow - 1, currentItem)
对于向下按钮,它是相同的,除了在第三行中的“-”符号被“+”更改。
关于python - 在 QListWidget 中上下移动项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10957392/