Python 如何将textbox的值传递到窗口PyQt5之外

Python 如何将textbox的值传递到窗口PyQt5之外,python,pyqt5,Python,Pyqt5,我开始了解PyQt5了。我试图将输入文本框的字符串传递给Python文件以供使用。字符串保存在b1_输出中,并应在窗口关闭后更改和打印。但是我不知道如何访问它。在代码中的第一个print()实例中,它将打印旧值。在第二种情况下,它根本不会打印。 谢谢你的帮助 我的代码: from PyQt5.QtWidgets import * import sys class MyWindow(QMainWindow): b1_output = 'example' def __init__

我开始了解PyQt5了。我试图将输入文本框的字符串传递给Python文件以供使用。字符串保存在b1_输出中,并应在窗口关闭后更改和打印。但是我不知道如何访问它。在代码中的第一个print()实例中,它将打印旧值。在第二种情况下,它根本不会打印。 谢谢你的帮助

我的代码:

from PyQt5.QtWidgets import *
import sys

class MyWindow(QMainWindow):
    b1_output = 'example'

    def __init__(self):
        QMainWindow.__init__(self)
        self.win_width = 750
        self.win_heigth = 150
        self.leftmargin = 50
        self.topmargin = 50
        #self.width = 300
        #self.height = 400
        self.title = 'Title'
        self.initUI()

    def initUI(self):
        # create window
        self.setGeometry(50,50,self.win_width,self.win_heigth)
        self.setWindowTitle(self.title)
        self.label = QLabel(self)

        # create textbox
        self.textbox = QLineEdit(self)
        self.textbox.resize((self.win_width-self.label.width()-150),20)
        self.textbox.move(self.label.width()+100, 50)

        # create button
        self.b1 = QPushButton(self)
        self.b1.setText('Go do magic!')
        self.b1.move(self.win_width-self.b1.width()-50,100)
        self.b1.clicked.connect(self.clicked)

    def clicked(self):
        self.b1_output = self.textbox.text()
        self.update()
        self.close()

    def update(self):
        self.label.adjustSize()


app = QApplication(sys.argv)
win = MyWindow()

print(win.b1_output)

win.show()
sys.exit(app.exec_())

print(win.b1_output)
sys.exit()的目标是终止程序,使该行之后的所有代码永远不会执行。解决方案是在打印后使用sys.exit():

app=QApplication(sys.argv)
win=MyWindow()
打印(win.b1_输出)
win.show()
ret=app.exec
打印(win.b1_输出)
系统退出(ret)