随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

QTabWidget小案例

一、概述

  编写一个QTabWidget小案例,示例图:

 

 

二、代码示例

复制代码
#include "TabWidgetExampleWindow.h"

TabWidgetExampleWindow::TabWidgetExampleWindow(QWidget *parent)
    : QWidget(parent)
{
    this->setWindowTitle("TabLayout布局");

    QVBoxLayout* vLayout = new QVBoxLayout;
    QComboBox* cb = new QComboBox;//设置页面名字的位置 North, South, West, East
    cb->setFixedWidth(150);
    cb->setFixedHeight(30);
    cb->addItem("North");
    cb->addItem("South");
    cb->addItem("West");
    cb->addItem("East");
    vLayout->addWidget(cb);

    QTabWidget* tab = new QTabWidget;
    //给Tab添加内容
    Button* btn1 = new Button;
    btn1->resize(400, 400);
    btn1->setText("我的剑就是你的剑");
    QLabel* btn2 = new QLabel;
    btn2->setFixedSize(400, 400);
    btn2->setScaledContents(true);
    cv::Mat src = imread("images/flowers.jpeg");
    btn2->setPixmap(ImageUtils::getPixmap(src));
    Button* btn3 = new Button;
    btn3->setText("提莫队长正在待命");
    Button* btn4 = new Button;
    btn4->setText("恕瑞玛,你的皇帝回来了");
    tab->addTab(btn1, "Tab1");
    tab->addTab(btn2, "Tab2");
    tab->addTab(btn3, "Tab3");
    tab->addTab(btn4, "Tab4");
    //设置页面的名字
    tab->setTabText(0, "德玛西亚");
    tab->setTabText(1, "艾欧尼亚");
    tab->setTabText(2, "恕瑞玛");
    tab->setTabText(3, "诺克萨斯");

    //设置页面的提示信息
    tab->setTabToolTip(0, "德玛西亚之力");
    tab->setTabToolTip(1, "我忘记这是啥玩意了");
    tab->setTabToolTip(2, "恕瑞玛你的皇帝回来了");
    tab->setTabToolTip(3, "诺克萨斯永不退缩");

    //设置页面是否被激活.
    tab->setTabEnabled(0, true);
    tab->setTabEnabled(1, true);
    tab->setTabEnabled(2, true);
    tab->setTabEnabled(3, true);
    //设置页面名字的位置 North, South, West, East
    tab->setTabPosition(QTabWidget::North);

    //设置页面关闭按钮。
    tab->setTabsClosable(true);

    vLayout->addWidget(tab);
    this->setLayout(vLayout);

    //QComboBox事件
    connect(cb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),this, [=](int index) {
        switch (index) {
        case 0:
            tab->setTabPosition(QTabWidget::North);
            break;
        case 1:
            tab->setTabPosition(QTabWidget::South);
            break;
        case 2:
            tab->setTabPosition(QTabWidget::West);
            break;
        case 3:
            tab->setTabPosition(QTabWidget::East);
            break;
        }
        
        });

}

TabWidgetExampleWindow::~TabWidgetExampleWindow()
{

}
复制代码

 

posted on   飘杨......  阅读(75)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
历史上的今天:
2021-12-22 Qt创建一个按钮,点击按钮关闭窗口
2013-12-22 Java设置以及获取JavaBean私有属性进阶
2013-12-22 Java使用PropertyDescriptor获取实体类中私有属性的值,并给私有属性赋值
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示