0
我從行編輯中抓取用戶輸入並將其顯示在QMessageBox上,但由於某種原因它不會顯示。我想也許我沒有從QLineEdit獲取輸入,但是當我嘗試在終端上打印它(它仍然不會顯示任何btw)終端向下滾動時,認識到有新的數據,但沒有顯示它。知道我在說什麼?PyQt:來自QLineEdit的文本不顯示
import os
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def main():
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
# create objects
label = QLabel(self.tr("enter the data "))
self.le = QLineEdit()
self.te = QTextEdit()
# layout
layout = QVBoxLayout(self)
layout.addWidget(label)
layout.addWidget(self.le)
layout.addWidget(self.te)
self.setLayout(layout)
# create connection
self.mytext = str(self.le.text())
self.connect(self.le, SIGNAL("returnPressed(void)"),
self.display)
def display(self):
QApplication.instance().processEvents()
msg = QMessageBox.about(self, 'msg', '%s' % self.mytext)
print(self.mytext)
self.te.append(self.mytext)
self.le.setText("")
if __name__ == "__main__":
main()
您必須閱讀插槽中的文本:'def display(self): self.mytext = self.le.text() msg = QMessageBox.about(self,'msg','%s' (self.mytext) self.te.append(s elf.mytext) self.le.setText(「」)' – eyllanesc
謝謝,它的工作,嗯,我可以看到你已經有近25k的聲譽表示祝賀,順便說一句。你應該寫這個答案,我可以投票給你,只是說。 @eyllanesc –
我已經發表了它。 – eyllanesc