I have made the items within QListWidget to be editable so that I can perform renaming when needed.

To do the renaming, user can 'double-click' on the item in which it will gives a QLineEdit that enables one to edit the text, and currently I am having issue in capturing the new name after the QLineEdit.

Tried using `itemDoubleClicked` and `currentTextChanged` signal but it does not seems to be returning me the new name.
For example, I am trying to rename `Trhee` to `Three` but under `rename_item()`, it returns me `Trhee`

```py
class Dialog(QtGui.QDialog):
    def __init__(self, parent=None):
        super(Dialog, self).__init__()
        self.listWidget = QtGui.QListWidget()
        items = ['One', 'Two', 'Trhee']
        for item in items:
            self.listWidget.addItem(item)

        self.listWidget.currentTextChanged.connect(self.rename_item)
        # self.listWidget.itemDoubleClicked.connect(self.rename_item)

        for index in range(self.listWidget.count()):
            item = self.listWidget.item(index)
            item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEditable)
            item.setCheckState(QtCore.Qt.Checked)

        layout = QtGui.QVBoxLayout(self)
        layout.addWidget(self.listWidget)

    def rename_item(self):
        prev_item_name = self.listWidget.currentItem()
        print 'before rename: ', prev_item_name.text()

        # Returns me the same value as prev_item_name...
        new_item_name = self.listWidget.currentItem()
        print 'after rename: ', new_item_name.text()

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = Dialog()
    window.setGeometry(600, 100, 300, 200)
    window.show()
    sys.exit(app.exec_())

```