Is it possible to somehow implement editing in QListWidget without opening additional windows as in this code. Those. when you clicked on a component in QListWidget , you could immediately change the text in it. I think you can do that when you click on an item , QLineEdit appeared in its place and there is editing in it, but it seems that this is not quite the best idea.
import sys from PyQt5 import QtWidgets from PyQt5 import QtGui class MainWindwos(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.setFont(QtGui.QFont('Times', 13)) self.setFixedSize(400, 600) self.listwidget = QtWidgets.QListWidget(self) self.listwidget.resize(400, 600) self.listwidget.addItem('привет') self.listwidget.itemClicked.connect(self.edit_item) def edit_item(self, item): self.dialog = QtWidgets.QDialog() self.dialog.setFont(QtGui.QFont('Times', 13)) self.edit = QtWidgets.QLineEdit(self.dialog) self.edit.resize(200, 30) self.push = QtWidgets.QPushButton(self.dialog) self.push.setText('сохранить') self.push.move(0, 50) self.push.clicked.connect(lambda: item.setText(self.edit.text())) self.push.clicked.connect(lambda: self.dialog.close()) self.dialog.setFixedSize(200, 200) self.dialog.show() if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) main = MainWindwos() main.show() sys.exit(app.exec_())