1. 首页
  2. IT资讯

PyQt Tab标签页窗口部件(QTabWidget)

“u003Cdivu003Eu003Cpu003E本篇主要介绍 QTabWidget的用法, 也会顺带介绍 QRadioButton 的分组, 以及 复合窗口部件的创建 。u003Cu002Fpu003Eu003Cpu003ETab标签页窗口部件(QTabWidget)可以有多个”页面“(page),每个页面包含一个Tab标签页标题(可含图标),和若干子窗口部件(要么是单个部件,要么由它们组成一个复合窗口部件)。u003Cu002Fpu003Eu003Cpu003EQRadioButton 是一个可以“开”和“关”的按钮。 拥有同一父窗口部件,或者属于同一 button group 的 按钮,在同一时刻只有一个能处于 “开”的状态。u003Cu002Fpu003Eu003Cpu003E具体的运用详见代码:u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F53390e74420942f2936049beae9f7ce4″ img_width=”271″ img_height=”132″ alt=”PyQt Tab标签页窗口部件(QTabWidget)” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cp class=”ql-align-center”u003Eu003Cbru003Eu003Cu002Fpu003Eu003Cpre class=”ql-align-justify”u003Eimport sysu003Cbru003Efrom PyQt5.QtWidgets import *u003Cbru003Efrom PyQt5.QtGui import QIconu003Cbru003E#from PyQt5.QtCore import Qt, QDate, QTime, QDateTime, QTimeru003Cbru003E#u003Cbru003Eclass Widget(QMainWindow):u003Cbru003E 缩进def __init__(self, parent = None):u003Cbru003E缩进缩进super().__init__(parent)u003Cbru003E缩进缩进self.setWindowTitle(“Tab 部件演示”)u003Cbru003E缩进缩进self.textEdit = QTextEdit()u003Cbru003E缩进缩进#self.textEdit.setFixedHeight(200)u003Cbru003E缩进缩进self.textEdit.setText(” Input something here:”)u003Cbru003E缩进缩进self.textEdit.selectAll()u003Cbru003E缩进缩进self.tabWidget = QTabWidget()u003Cbru003E缩进缩进#设置tab 标签在页面的位置u003Cbru003E缩进缩进#self.tabWidget.setTabPosition(QTabWidget.North) #默认 北 (0,上)u003Cbru003E缩进缩进self.tabWidget.setTabPosition(QTabWidget.South) #南(1,下)u003Cbru003E缩进缩进#self.tabWidget.setTabPosition(QTabWidget.West) #西(2,左)u003Cbru003E缩进缩进#self.tabWidget.setTabPosition(QTabWidget.East) # 东(3,右)u003Cbru003E缩进缩进#设置 tab 标签的形状u003Cbru003E缩进缩进#self.tabWidget.setTabShape (QTabWidget.Rounded)# 圆角,0,默认u003Cbru003E缩进缩进self.tabWidget.setTabShape (QTabWidget.Triangular)# 三角形,1u003Cbru003E缩进缩进self.tabWidget.addTab(self.create_widget1(), “第一页”)u003Cbru003E缩进缩进#还可以添加图标u003Cbru003E缩进缩进self.tabWidget.addTab(self.textEdit, QIcon(“ICONu002Fsmile.png”), “第二页”)u003Cbru003E缩进缩进self.tabWidget.currentChanged[int].connect(self.on_currentChanged)u003Cbru003E缩进缩进self.setCentralWidget(self.tabWidget)u003Cbru003E#u003Cbru003E缩进def create_widget1(self):u003Cbru003E缩进缩进#创建自定义复合窗口部件u003Cbru003E缩进缩进widget = QWidget()#step1u003Cbru003E缩进缩进gLayout = QGridLayout()u003Cbru003E缩进缩进 label1 = QLabel(“姓名:”)u003Cbru003E缩进缩进lineEdit1 = QLineEdit()u003Cbru003E缩进缩进label1.setBuddy(lineEdit1)u003Cbru003E缩进缩进label2 = QLabel(“性别:”)u003Cbru003E缩进缩进buttonGroup = QButtonGroup()u003Cbru003E缩进缩进radioButton1 = QRadioButton(“男”)u003Cbru003E缩进缩进 radioButton2 = QRadioButton(“女”)u003Cbru003E缩进缩进radioButton2.setChecked(True)u003Cbru003E缩进缩进#同一button group 或同一 父窗体的 为一个分组,多选一u003Cbru003E缩进缩进buttonGroup.addButton(radioButton1)u003Cbru003E缩进缩进buttonGroup.addButton(radioButton2)u003Cbru003E缩进缩进gLayout.addWidget(label1, 0, 0)u003Cbru003E缩进缩进gLayout.addWidget(lineEdit1, 0, 1, 1, 2)u003Cbru003E缩进缩进gLayout.addWidget(label2,1,0)u003Cbru003E缩进缩进gLayout.addWidget(radioButton1, 1, 1)u003Cbru003E缩进缩进gLayout.addWidget(radioButton2, 1, 2)u003Cbru003E缩进缩进widget.setLayout(gLayout)#step2u003Cbru003E缩进缩进return widgetu003Cbru003E#u003Cbru003E缩进def on_currentChanged(self, index):u003Cbru003E缩进缩进print(“current tab index:”, index)u003Cbru003E缩进缩进print(“current tab index:”, self.tabWidget.currentIndex())u003Cbru003E缩进缩进print(“current tab widget:”, self.tabWidget.currentWidget())u003Cbru003E缩进缩进print(“tab count”, self.tabWidget.count())u003Cbru003E缩进缩进#self.tabWidget.setCurrentIndex(1) #可通过代码设定当前tabu003Cbru003E缩进缩进#self.tabWidget.setTabEnabled (self, int index, bool) #disable Tabu003Cbru003E#u003Cbru003Eif __name__ == ‘__main__’:u003Cbru003E缩进app = QApplication(sys.argv)u003Cbru003E缩进wg = Widget()u003Cbru003E缩进wg.show()u003Cbru003E缩进sys.exit(app.exec_())u003Cbru003Eu003Cu002Fpreu003Eu003Cu002Fdivu003E”

原文始发于:PyQt Tab标签页窗口部件(QTabWidget)

主题测试文章,只做测试使用。发布者:玩家L-,转转请注明出处:http://www.cxybcw.com/10628.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code