网站首页 > 博客文章 正文
1. QTabWidget简介
PyQt5中QTabWidget控件用于创建带有标签页的窗口。允许组织多个窗口小部件在一个单一的容器中,每个窗口小部件都有一个对应的标签页
2. QTabWidget案例
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QMainWindow, QTabWidget, QFormLayout, QLineEdit, QRadioButton
from PyQt5 import QtWidgets
"""
标签页控件
"""
class QTabWidgetDemo(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle('标签页控件')
self.resize(600, 400)
# 创建标签对象
self.tab = QTabWidget(self)
self.tab.resize(600, 400)
self.tab1 = QWidget()
self.tab2 = QWidget()
self.tab3 = QWidget()
# 添加选项卡页
self.tab.addTab(self.tab1, 'tab1')
self.tab.addTab(self.tab2, 'tab2')
self.tab.addTab(self.tab3, 'tab3')
# 移除指定索引的标签页
# self.tab.removeTab(1)
# 获取标签页数量
print(self.tab.count())
# 设置当前活动的标签页
self.tab.setCurrentIndex(1)
# 获取当前活动标签页的索引
print(self.tab.currentIndex())
# 当前活动的标签页发生改变时触发
self.tab.currentChanged.connect(self.current_changed)
# 双击某个标签页时触发
self.tab.tabBarDoubleClicked.connect(self.tab_bar_double_clicked)
# 单击某个标签页时触发
self.tab.tabBarClicked.connect(self.tab_bar_clicked)
self.tab1_ui()
self.tab2_ui()
self.tab3_ui()
def current_changed(self, index):
print('当前激活标签页索引:', index)
def tab_bar_double_clicked(self, index):
print('双击标签页索引:', index)
def tab_bar_clicked(self, index):
print('单击标签页索引:', index)
# 初始化选项卡页内容
def tab1_ui(self):
f_layout = QFormLayout()
f_layout.addRow('姓名', QLineEdit())
f_layout.addRow('地址', QLineEdit())
self.tab.setTabText(0, '联系方式')
self.tab1.setLayout(f_layout)
def tab2_ui(self):
f_layout = QFormLayout()
h_layout = QHBoxLayout()
h_layout.addWidget(QRadioButton('男'))
h_layout.addWidget(QRadioButton('女'))
f_layout.addRow('性别', h_layout)
f_layout.addRow('生日', QLineEdit())
self.tab.setTabText(1, '详细信息')
self.tab2.setLayout(f_layout)
def tab3_ui(self):
h_layout = QHBoxLayout()
h_layout.addWidget(QtWidgets.QLabel('学科'))
h_layout.addWidget(QtWidgets.QCheckBox('数学'))
h_layout.addWidget(QtWidgets.QCheckBox('语文'))
self.tab.setTabText(2, '学科')
self.tab3.setLayout(h_layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QTabWidgetDemo()
w.show()
app.exec()
3. 运行结果
4. 常用方法
方法 | 描述 |
addTab(QWidget, str) | 添加新的标签页 |
insertTab(int, QWidget, str) | 在指定索引处插入一个新标签页 |
removeTab(int) | 移除指定索引的标签页 |
count() | 获取标签页的数量 |
currentIndex() | 获取当前活动标签页的索引 |
setCurrentIndex(int) | 设置当前活动的标签页 |
tabText(int) | 获取指定索引的标签页的文本 |
setTabText(int, str) | 设置指定索引的标签页的文本 |
5. 常用信号
方法 | 描述 |
currentChanged | 当前活动的标签页发生改变时触发 |
tabBarDoubleClicked | 双击某个标签页时触发 |
tabBarClicked | 单击某个标签页时触发 |
猜你喜欢
- 2025-01-23 Qt添加图标(qt中添加图片)
- 2025-01-23 Mac上调试QT客户端(qt在mac下开发)
- 2025-01-23 Qt使用教程:指定生成设置(二)(qt如何使用c++)
- 2025-01-23 QT实现简单的上位机软件(基于qt的上位机 开发需要用到哪些内容)
- 2025-01-23 Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—4)
- 2025-01-23 Qt使用QSS(qt弹出子窗体后,父窗体按钮不可以使用)
- 2025-01-23 Qt入门_设计find对话框(qt怎么设置对话框大小固定)
- 2025-01-23 从零开始学Qt(39):QFileDialog对话框的使用
- 2025-01-23 Qt 制作登录对话框(qt制作登录界面)
- 2025-01-23 Qt 窗口部件(qt新窗口)
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 359℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)