📜  pyside2 qt 设计器选项卡小部件示例 - Python (1)

📅  最后修改于: 2023-12-03 15:33:55.637000             🧑  作者: Mango

PySide2 QT 设计器选项卡小部件示例 - Python

简介

这是一个PySide2 QT设计器选项卡小部件示例,它演示了如何在PySide2中使用QT设计器来创建复杂的用户界面。该示例程序包含了选项卡、文本框和按钮等小部件,并且展示了它们之间的交互。

安装

示例程序需要PySide2模块和QT设计器。您可以使用以下命令安装它们:

pip install pyside2 pyqt5-tools
示例代码
import sys
from PySide2.QtCore import Qt
from PySide2.QtGui import QPixmap
from PySide2.QtWidgets import QApplication, QDialog, QTabWidget, QTextEdit, QVBoxLayout, QHBoxLayout, QPushButton, QLabel


class TabWidget(QTabWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.tab1 = QTextEdit()
        self.tab2 = QTextEdit()

        self.addTab(self.tab1, "Tab 1")
        self.addTab(self.tab2, "Tab 2")

class MainDialog(QDialog):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.setWindowTitle("PySide2 QT Designer Tab Widget Example")
        self.setFixedSize(400, 300)

        vboxlayout = QVBoxLayout()

        self.label = QLabel(self)
        self.label.setPixmap(QPixmap("images/logo.png"))

        self.tab_widget = TabWidget()

        hboxlayout = QHBoxLayout()
        hboxlayout.addStretch()
        self.button_ok = QPushButton("OK")
        self.button_ok.clicked.connect(self.on_click)
        hboxlayout.addWidget(self.button_ok)

        vboxlayout.addWidget(self.label, 0, Qt.AlignCenter)
        vboxlayout.addWidget(self.tab_widget)
        vboxlayout.addLayout(hboxlayout)

        self.setLayout(vboxlayout)

    def on_click(self):
        print("OK button clicked")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    dialog = MainDialog()
    dialog.show()
    sys.exit(app.exec_())
示例说明

该示例代码定义了两个类:TabWidgetMainDialogTabWidget类继承自QTabWidget类,用于创建选项卡小部件。MainDialog类继承自QDialog类,用于创建应用程序的主窗口。

TabWidget类的init_ui()方法中,我们创建了两个QTextEdit小部件,并将它们添加到选项卡小部件中。

MainDialog类的init_ui()方法中,我们使用垂直布局和水平布局来组合窗口内的小部件。其中包括一个QLabel小部件,用于在窗口中央显示logo图片,TabWidget小部件,用于展示选项卡,以及一个QPushButton小部件,用于触发“OK”按钮事件。

MainDialog类中,我们还定义了一个on_click()方法,用于处理“OK”按钮的点击事件。在本示例中,我们只是简单地打印了一条消息。

最后,在主程序中,我们创建了一个QApplication对象,创建了MainDialog类的实例,并显示了它。

结论

该示例程序展示了如何使用PySide2 QT设计器来创建选项卡小部件,以及如何在PySide2中处理小部件之间的交互。您可以使用这个示例作为基础,进一步开发您自己的应用程序。