QTabWidget的详细使用「建议收藏」

QTabWidget的详细使用「建议收藏」QTabWidget介绍QTabWidget主要是用来分页显示的,每一页一个界面,众多界面公用一块区域,节省了界面大小,很方便的为用户显示更多的信息1,创建四个QWidgetself.tab1=QWidget()self.tab2=QWidget()self.tab3=QWidget()self.ta…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

QTabWidget介绍

QTabWidget主要是用来分页显示的,每一页一个界面,众多界面公用一块区域,节省了界面大小,很方便的为用户显示更多的信息
这里写图片描述

1,创建四个QWidget

        self.tab1 = QWidget()
        self.tab2 = QWidget()
        self.tab3 = QWidget()
        self.tab4 = QWidget()

2,将四个QWidget添加到tab当中去

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

3,分别为每个tab里面制作界面

        self.tab1UI()
        self.tab2UI()
        self.tab3UI()
        self.tab4UI()

4,完整源码

# -*- coding: utf-8 -*-

''' 【简介】 PyQt5中 QTabWidget 例子 '''

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.tab4 = QWidget()

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


        self.tab1UI()
        self.tab2UI()
        self.tab3UI()
        self.tab4UI()

        self.setWindowTitle("Tab 例子")

    def tab1UI(self):
        #帧布局
        layout = QFormLayout()
        layout.addRow("姓名", QLineEdit())
        layout.addRow("地址", QLineEdit())
        #为这个tab命名显示出来,第一个参数是哪个标签,第二个参数是标签的名字
        self.setTabText(0, "联系方式")
        # 在标签1中添加这个帧布局
        self.tab1.setLayout(layout)
    # 同理如上
    def tab2UI(self):
        layout = QFormLayout()
        sex = QHBoxLayout()
        sex.addWidget(QRadioButton("男"))
        sex.addWidget(QRadioButton("女"))
        layout.addRow(QLabel("性别"), sex)
        layout.addRow("生日", QLineEdit())
        self.setTabText(1, "个人详细信息")
        self.tab2.setLayout(layout)

    def tab3UI(self):
        layout = QHBoxLayout()
        layout.addWidget(QLabel("科目"))
        layout.addWidget(QCheckBox("物理"))
        layout.addWidget(QCheckBox("高数"))
        self.setTabText(2, "教育程度")
        self.tab4.setLayout(layout)

    def tab4UI(self):
        layout = QHBoxLayout()
        layout.addWidget(QLabel("科目"))
        layout.addWidget(QCheckBox("物理"))
        layout.addWidget(QCheckBox("高数"))
        self.setTabText(3, "教育程度")
        self.tab4.setLayout(layout)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = TabDemo()
    demo.show()
    sys.exit(app.exec_())
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190143.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaScript高级程序设计 第4版(中文高清)扫描版

    JavaScript高级程序设计 第4版(中文高清)扫描版核心ECMAScript文档对象模型DOM浏览器对象模型BOMECMAScript定义语言的基础规定了语言的组成部分:语法、类型、语句、关键字、保留字、操作符、对象

    2022年8月20日
    6
  • Java综合中级面试题

    Java综合中级面试题1.你用过哪些集合类?大公司最喜欢问的Java集合类面试题40个Java集合面试问题和答案java.util.Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。java.util.Collection是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection├List│├LinkedList│├ArrayList│└Ve…

    2022年6月15日
    27
  • java中的策略模式(策略模式java)

    前言当代码中出现多重if-else语句或者switch语句时。弊端之一:如果这样的代码出现在多处,那么一旦出现需求变更,就需要把所有地方的if-else或者switch代码进行更改,要是遗漏了某一处,那么程序就会出错。弊端之二:代码逻辑难以理解。卫语句卫语句的使用,并不能改变前言说的弊端:一旦需求更改,需要修改所有使用更改需求的if-else代码块。不过使用卫语句可以让自己或者代码…

    2022年4月18日
    55
  • vscode 快捷键绑定

    vscode 快捷键绑定最近迷上了vscode,用它开发.netcore程序十分方便,智能提示也很好用,插入智能提示的选项是enter键或者tab键,可惜我以前习惯使用vs写c#,习惯用空格做智能提示的选择,多方查找资料甚至准备采用开发一个vscode插件的方式解决,后来无意间查看官方文档,利用vscode的快捷键绑定功能是可以做到的。打开vscode,进入文件->首选项->键盘快捷方式查看’tab’的功能,其中就有一项:

    2022年5月18日
    42
  • C++ 无锁队列

    C++ 无锁队列atomic 类型的操作是原子操作 是不可分割的 不能被中断的操作 程序代码中的一条简单赋值语句会被翻译为多条汇编指令 那么多个线程同时对某一存储单元进行修改 就有可能出现脏数据 原子操作可以避免脏数据的出现 2 多线程读写三 总结无锁队列依靠原子和 CAS 操作 对队列的读写索引进行判断来入队和出队 它没有使用互斥量 mutex 来进行加锁 从性能上具有明显的优势 但同时编程的复杂性增加了很多 在编码时也要对内存序有简单的了解

    2025年12月11日
    2
  • Java安全之C3P0链利用与分析

    Java安全之C3P0链利用与分析0x00前言在一些比较极端情况下,C3P0链的使用还是挺频繁的。0x01利用方式利用方式在C3P0中有三种利用方式httpbaseJNDIHEX

    2021年12月13日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号