在 Qt 中,可以使用信号和槽机制来传递参数。下面是一个示例,演示了如何在窗口之间传递参数:python
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton
class Window1(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Window 1')
self.button = QPushButton('Open Window 2 with Data', self)
self.button.clicked.connect(self.open_window2_with_data)
self.setCentralWidget(self.button)
def open_window2_with_data(self):
data = "Hello from Window 1!"
self.window2 = Window2(data)
self.window2.show()
class Window2(QMainWindow):
def __init__(self, data):
super().__init__()
self.setWindowTitle('Window 2')
self.label = QLabel(data, self)
self.setCentralWidget(self.label)
if __name__ == "__main__":
app = QApplication([])
window1 = Window1()
window1.show()
app.exec()
在这个示例中,Window1 类中的 open_window2_with_data 方法创建了一个带有参数的 Window2 实例,并将参数传递给 Window2 的构造函数。Window2 类中接收这个参数,并在窗口中显示它。
这是一个简单的示例,演示了如何在 Qt 中传递参数。您可以根据自己的需求修改和扩展这个示例。