找回密码
 立即注册
首页 python pyqt 查看内容
PyQt5标签在本文中,您将学习如何使用PyQt5选项卡。我们先显示完整的代码,然后再解释一下。PyQt5有一个小部件来创建称为QTabWidget的选项卡。QTabWidget可以包含选项卡(QWidgets),它们上面有小部件,如标签,按钮,图像等。


PyQt5选项卡示例


Full PyQt5选项卡示例:

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QWidget, QAction, QTabWidget,QVBoxLayout
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
 
class App(QMainWindow):
 
    def __init__(self):
        super().__init__()
        self.title = 'PyQt5 tabs - pythonspot.com'
        self.left = 0
        self.top = 0
        self.width = 300
        self.height = 200
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
 
        self.table_widget = MyTableWidget(self)
        self.setCentralWidget(self.table_widget)
 
        self.show()
 
class MyTableWidget(QWidget):        
 
    def __init__(self, parent):   
        super(QWidget, self).__init__(parent)
        self.layout = QVBoxLayout(self)
 
        # Initialize tab screen
        self.tabs = QTabWidget()
        self.tab1 = QWidget()        
        self.tab2 = QWidget()
        self.tabs.resize(300,200) 
 
        # Add tabs
        self.tabs.addTab(self.tab1,"Tab 1")
        self.tabs.addTab(self.tab2,"Tab 2")
 
        # Create first tab
        self.tab1.layout = QVBoxLayout(self)
        self.pushButton1 = QPushButton("PyQt5 button")
        self.tab1.layout.addWidget(self.pushButton1)
        self.tab1.setLayout(self.tab1.layout)
 
        # Add tabs to widget        
        self.layout.addWidget(self.tabs)
        self.setLayout(self.layout)
 
    @pyqtSlot()
    def on_click(self):
        print("\n")
        for currentQTableWidgetItem in self.tableWidget.selectedItems():
            print(currentQTableWidgetItem.row(), currentQTableWidgetItem.column(), currentQTableWidgetItem.text())
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

说明:
要将表添加到窗口,我们创建一个新类:
class MyTableWidget(QWidget)

我们通过为选项卡创建QTabWidget和两个QWidgets来初始化选项卡屏幕。
self.tabs = QTabWidget()
self.tab1 = QWidget()        
self.tab2 = QWidget()
self.tabs.resize(300,200)

然后我们将这些选项卡添加到选项卡小部件:
self.tabs.addTab(self.tab1,"Tab 1")
self.tabs.addTab(self.tab2,"Tab 2")

选项卡的内容使用以下内容创建:
self.tab1.layout = QVBoxLayout(self)
self.pushButton1 = QPushButton("PyQt5 button")
self.tab1.layout.addWidget(self.pushButton1)
self.tab1.setLayout(self.tab1.layout)

最后,我们将标签添加到小部件:
self.layout.addWidget(self.tabs)
self.setLayout(self.layout)

不要忘记将自定义选项卡小部件添加到窗口:
self.table_widget = MyTableWidget(self)
self.setCentralWidget(self.table_widget)



分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册