下面是一个使用Pyside2创建一个带有两个选项卡的主窗口的示例代码。其中,第一个选项卡(tab1)包含一个按钮(button1),第二个选项卡(tab2)则引用了另一个类(Tab2Widget)来创建。在Tab2Widget类中,我们创建了一个按钮(button2),并为其绑定了一个点击事件。
import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QTabWidget, QVBoxLayout, QWidget
class Tab2Widget(QWidget):
def __init__(self):
super().__init__()
button2 = QPushButton("Button 2")
button2.clicked.connect(self.button2_clicked)
layout = QVBoxLayout()
layout.addWidget(button2)
self.setLayout(layout)
def button2_clicked(self):
print("按钮被点击")
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
tab_widget = QTabWidget()
tab1 = QWidget()
tab2 = Tab2Widget()
button1 = QPushButton("Button 1")
button1.clicked.connect(self.button1_clicked)
tab1_layout = QVBoxLayout()
tab1_layout.addWidget(button1)
tab1.setLayout(tab1_layout)
tab_widget.addTab(tab1, "Tab 1")
tab_widget.addTab(tab2, "Tab 2")
self.setCentralWidget(tab_widget)
def button1_clicked(self):
print("按钮被点击")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
在这个示例中,我们创建了一个MainWindow类作为主窗口。在构造函数中,我们创建了一个QTabWidget对象,并向其中添加了两个选项卡(tab1和tab2)。在tab1中,我们创建了一个按钮(button1),并为其绑定了一个点击事件。tab2则通过创建Tab2Widget类的实例来获取其内容。
在Tab2Widget类中,我们创建了一个按钮(button2),并为其绑定了一个点击事件button2_clicked。当按钮被点击时,它会在控制台输出"按钮被点击"。