我不知道为什么它没有改变,QListWidget尽管它在控制台中显示listwidget这条线已经改变了。怎么修
import sys
from PyQt5 import QtCore
from PyQt5 import QtWidgets
from PyQt5 import QtGui
from PyQt5 import QtCore
class MainWindwos(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.asd = Click()
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.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.listwidget.customContextMenuRequested.connect(self.asd.edit_item)
class Click:
def edit_item(self, item):
self.main = MainWindwos()
g = self.main.listwidget.itemAt(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: g.setText(self.edit.text()))
self.push.clicked.connect(lambda: print(g.text()))
self.dialog.setFixedSize(200, 200)
self.dialog.show()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main = MainWindwos()
main.show()
sys.exit(app.exec_())
它在队列中
self.main = MainWindwos()。使用它,您每次都使用它的列表创建一个新窗口,尽管您想更改旧窗口中的值。您
Click需要将链接传递给它将使用的窗口: