首页 > 编程语言 >【Python开发技术之PyQt5精品教学】第24课--PyQt5 QTab小部件

【Python开发技术之PyQt5精品教学】第24课--PyQt5 QTab小部件

时间:2024-10-14 08:52:30浏览次数:3  
标签:24 __ layout 标签 self PyQt5 开发技术 QTabWidget 页面

PyQt5 QTab小部件

如果一个表单具有太多字段无法同时显示,则可以将它们安排在选项卡窗口小部件的每个选项卡下的不同页面中。提供了一个选项卡栏和一个页面区域。第一个选项卡下的页面会显示,其他页面会隐藏。用户可以通过点击所需的选项卡来查看任何页面。

以下是QTabWidget类的一些常用方法:

Sr.No.方法及描述
1addTab() 添加与小部件页面关联的标签页
2insertTab() 将页面插入到所需位置的标签页中
3removeTab() 移除给定索引处的标签页
4setCurrentIndex() 将当前可见页面的索引设置为当前页
5setCurrentWidget() 将可见页面设置为当前页
6setTabBar() 设置小部件的标签栏
7setTabPosition() 通过以下值控制标签的位置 QTabWidget.North 在页面上方 QTabWidget.South 在页面下方 QTabWidget.West 在页面左侧 QTabWidget.East 在页面右侧
8setTabText() 定义与标签索引关联的标签名称

以下信号与QTabWidget对象相关联−

序号方法和描述
1currentChanged() 每当当前页面索引改变时
2tabClosedRequested() 当点击标签上的关闭按钮时

示例

在下面的示例中,一个表单的内容被分为三个类别进行分组。每个小部件组在不同的标签下显示。

顶级窗口本身是一个QTabWidget。三个标签被添加到其中。

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

每个选项卡显示了使用布局设计的子表单。通过该语句可以修改选项卡文本。

self.setTabText(0,"Contact Details")
self.setTabText(1,"Personal Details")
self.setTabText(2,"Education Details")

Python

Copy

完整的代码如下:

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class tabdemo(QTabWidget):
   def __init__(self, parent = None):
      super(tabdemo, self).__init__(parent)
      self.tab1 = QWidget()
      self.tab2 = QWidget()
      self.tab3 = QWidget()

      self.addTab(self.tab1,"Tab 1")
      self.addTab(self.tab2,"Tab 2")
      self.addTab(self.tab3,"Tab 3")
      self.tab1UI()
      self.tab2UI()
      self.tab3UI()
      self.setWindowTitle("tab demo")

   def tab1UI(self):
      layout = QFormLayout()
      layout.addRow("Name",QLineEdit())
      layout.addRow("Address",QLineEdit())
      self.setTabText(0,"Contact Details")
      self.tab1.setLayout(layout)

   def tab2UI(self):
      layout = QFormLayout()
      sex = QHBoxLayout()
      sex.addWidget(QRadioButton("Male"))
      sex.addWidget(QRadioButton("Female"))
      layout.addRow(QLabel("Sex"),sex)
      layout.addRow("Date of Birth",QLineEdit())
      self.setTabText(1,"Personal Details")
      self.tab2.setLayout(layout)

   def tab3UI(self):
      layout = QHBoxLayout()
      layout.addWidget(QLabel("subjects")) 
      layout.addWidget(QCheckBox("Physics"))
      layout.addWidget(QCheckBox("Maths"))
      self.setTabText(2,"Education Details")
      self.tab3.setLayout(layout)

def main():
   app = QApplication(sys.argv)
   ex = tabdemo()
   ex.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   main()

上述代码产生以下输出−

PyQt5 QTab小部件

标签:24,__,layout,标签,self,PyQt5,开发技术,QTabWidget,页面
From: https://blog.csdn.net/xzs51job/article/details/142908504

相关文章

  • 【Python开发技术之PyQt5精品教学】第31课--PyQt5 QCalendar小工具
    PyQt5QCalendar小工具QCalendar小工具是一个有用的日期选择器控件。它提供了基于月份的视图。用户可以通过鼠标或键盘选择日期,默认为今天的日期。还可以指定日历的日期范围。以下是这个类的一些实用方法:序号方法和描述1setDateRange() :设置可选择的较低和较高日期。2setFi......
  • 写在 2024-10-14 20 岁。
    今天yspm20岁了!过去品味起来挺有趣的,将来期待起来挺好玩的。过去总担心在赢者通吃的时代不当最大的赢家就会成为永远的输家,现在其实也不觉得这是杞人忧天,只不过无论哪种赢都是localmaxima,既然没有绝对的完美,也就自然没必要被一些localmaxima的表象迷惑而让自己不痛快。本......
  • 2024/9/16 CSP-S模拟赛试题
    A这题是很有意思的一个题,思路就是你考虑kt的位置只可能在四个角,因为这种情况下,他的距离才会最远对吧,所以你就暴力找另一个人fengwu的点的位置,然后计算他们之间的距离然后你求一个\(\max\)即可,然后记录一下这些\(\max\)的值,最后排个序就好了。代码:#include<bits/stdc++.h>usi......
  • 24/10/13 ABC375补题笔记
    A典,属于显而易见的水题,这数据范围直接暴力做就行了。#include<bits/stdc++.h>usingnamespacestd;intmain(){ intn; cin>>n; strings; cin>>s; intcnt=0; if(n<2)returncout<<0<<endl,0; for(inti=0;i<s.size()-2;i++)......
  • ChatGPT官网中文版镜像网站整理(2024/10/13)
    一、什么是ChatGPT?ChatGPT是由OpenAI开发的一种基于GPT(GenerativePretrainedTransformer)模型的人工智能对话系统。它使用了深度学习技术中的一种叫做Transformer的架构,通过对大量文本数据进行预训练和微调,能够理解并生成自然语言。二、GPT工具跟国内AI大模型整理(一......
  • # 学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第2、3周学习总结
    学期(如2024-2025-1)学号(如:20241402)《计算机基础与程序设计》第2、3周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写......
  • 软件著作权申请教程(超详细)(2024新版)软著申请
               目录一、注册账号与实名登记二、材料准备三、申请步骤1.办理身份2.软件申请信息3.软件开发信息4.软件功能与特点5.填报完成一、注册账号与实名登记    首先我们需要在官网里面注册一个账号,并且完成实名认证,一般是注册【个人】的身份......
  • 学期2024-2025-1 学号20241424 《计算机基础与程序设计》第4周学习总结
    学期2024-2025-1学号20241424《计算机基础与程序设计》第4周学习总结作业信息|这个作业属于(2024-2025-1-计算机基础与程序设计)||-- |-- ||这个作业要求在(2024-2025-1计算机基础与程序设计第四周作业||这个作业的目标|<写上具体方面>参考上面的学习总结模板,把学习过程通过......
  • 024-2025 20241323第三周总结
    这个作业属于https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03• 门电路• 组合电路,逻辑电路• 冯诺依曼结构• CPU,内存,IO管理• 嵌入式系统,并行结构• 物理安全作业正文https://www.cnblogs.com......
  • 2024-2025-1 202421310 《计算机基础与程序设计》第3周学习总结
    学期(如2024-2025-1)学号(如:20241300)《计算机基础与程序设计》第X周学习总结作业信息|这个作业属于哪个课程|https://www.cnblogs.com/rocedu/p/9577842.html|这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03|这个作业的目标|数字分类与计数法位......