在PyQt5中,要将textbox的值传递到窗口之外,可以使用信号与槽机制来实现。以下是一个示例代码:
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QLineEdit, QPushButton
from PyQt5.QtCore import pyqtSignal, QObject
class Communicate(QObject):
valueChanged = pyqtSignal(str)
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("Textbox传值示例")
self.setGeometry(300, 300, 300, 200)
layout = QVBoxLayout()
self.textbox = QLineEdit()
layout.addWidget(self.textbox)
button = QPushButton("传递值")
button.clicked.connect(self.sendValue)
layout.addWidget(button)
widget = QWidget()
widget.setLayout(layout)
self.setCentralWidget(widget)
def sendValue(self):
value = self.textbox.text()
self.communicate = Communicate()
self.communicate.valueChanged.emit(value)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
在上述代码中,我们创建了一个Communicate
类,它继承自QObject
,并定义了一个valueChanged
信号。然后,在Window
类中,我们创建了一个textbox
和一个按钮,当按钮被点击时,我们获取textbox
的值,并通过valueChanged
信号将其传递出去。
你可以根据实际需求,将传递的值用于其他窗口或模块中的操作。
领取专属 10元无门槛券
手把手带您无忧上云