我有两个来自UI
r的QTDesigne
表单。 ParentUI
打开ChildUI
,必须将parentUI.QTExtEdit
的文字添加到ChildUi.QListWidget
。我在ChildUI
中写了一个函数,它向ListWidget
添加了一行,但它并没有正确地从ParentUI
运行。如果我尝试添加ParentUI
:self.child_win.listWidget.addItem('popka')
中的行,我会得到相同的结果。
这是我的父窗口:
<pre>
<code>
<!-- language: python -->
from PyQt4 import QtCore, QtGui
import sys
from list import Ui_List
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_Sender_edit(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.setupUi(self)
def setupUi(self, Sender_edit):
Sender_edit.setObjectName(_fromUtf8("Sender_edit"))
Sender_edit.resize(400, 154)
self.verticalLayout = QtGui.QVBoxLayout(Sender_edit)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.textEdit = QtGui.QTextEdit(Sender_edit)
self.textEdit.setObjectName(_fromUtf8("textEdit"))
self.verticalLayout.addWidget(self.textEdit)
self.pushButton = QtGui.QPushButton(Sender_edit)
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.verticalLayout.addWidget(self.pushButton)
self.retranslateUi(Sender_edit)
QtCore.QMetaObject.connectSlotsByName(Sender_edit)
def retranslateUi(self, Sender_edit):
Sender_edit.setWindowTitle(QtGui.QApplication.translate("Sender_edit", "Sender_edit", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("Sender_edit", "ok", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.clicked.connect(self.send_info)
def send_info(self):
sender = self.textEdit.toPlainText()
print(sender + " lalka")
self.showChildWindow()
def showChildWindow(self):
self.child_win = Ui_List()
self.child_win.listWidget.addItem('popka')
self.child_win.show()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
ex = Ui_Sender_edit()
ex.show()
sys.exit(app.exec_())
</code>
</pre>
和子窗口:
<pre>
<code>
<!-- language: python -->
from PyQt4 import QtCore, QtGui
import sys
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_List(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.setupUi(self)
self.setupUi(self)
def setupUi(self, List):
List.setObjectName(_fromUtf8("List"))
List.resize(400, 154)
self.verticalLayout = QtGui.QVBoxLayout(List)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.listWidget = QtGui.QListWidget(List)
self.listWidget.setObjectName(_fromUtf8("listWidget"))
self.verticalLayout.addWidget(self.listWidget)
self.pushButton = QtGui.QPushButton(List)
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.verticalLayout.addWidget(self.pushButton)
self.pushButton_2 = QtGui.QPushButton(List)
self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
self.verticalLayout.addWidget(self.pushButton_2)
self.retranslateUi(List)
QtCore.QMetaObject.connectSlotsByName(List)
def retranslateUi(self, List):
List.setWindowTitle(QtGui.QApplication.translate("List", "LIST", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("List", "Fucking_edit", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_2.setText(QtGui.QApplication.translate("List", "Close", None, QtGui.QApplication.UnicodeUTF8))
# self.add_lines('fuck')
def add_lines(self, line):
self.listWidget.addItem(line)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
ex = Ui_List()
ex.show()
sys.exit(app.exec_())
</code>
</pre>
如何从一个窗口向另一个窗口发送信息?
提前致谢= _)