Qt_QTabWidget_多行

ZC: 一下是网上搜到的一些信息

ZC: 我只是在 Android环境做了一些测试,别的环境暂未测试...

 

1、自定义 QTabBar子类

#ifndef MYTABBAR_H
#define MYTABBAR_H

#include <QTabBar>
#include <QLabel>

class MyTabBar : public QTabBar
{
    Q_OBJECT
public:
    explicit MyTabBar(QWidget *parent = 0);
};

#endif // MYTABBAR_H

// ZC: 上面是 .h文件,下面是 .cpp文件
#include
"mytabbar.h" MyTabBar::MyTabBar(QWidget* parent) : QTabBar(parent) { this->addTab(QString()); QLabel* lbl; lbl = new QLabel(); //lbl->setPixmap(QPixmap(QString::fromUtf8("../../popup/5.png"))); lbl->setAlignment(Qt::AlignCenter); // can set a larger size below too, but the icon is always center aligned lbl->setFixedSize(16,16); this->setTabButton(0, QTabBar::LeftSide, lbl); //this->r }

 

2、自定义 QTabWidget子类 (手动设置 自己的 QTabBar)

#ifndef MYTABWIDGET_H
#define MYTABWIDGET_H

#include <QTabWidget>

class MyTabWidget :public QTabWidget
{
    Q_OBJECT
public:
    explicit MyTabWidget(QWidget *parent = 0);
};

#endif // MYTABWIDGET_H

// ZC: 上面是 .h文件,下面是 .cpp文件
#include
"mytabwidget.h" MyTabWidget::MyTabWidget(QWidget* parent) : QTabWidget(parent) { this->setTabBar(QTabBar*); }

 

3、

  关键是,在 MyTabBar中 实现 tab栏的多行。

  然而,我不知道该怎么做,网上 也没查到 应该怎么做...

 

4、

  默认的 QTabWidget,如果 tab栏 比较长 不能显示全部的内容的话,它会出现一个 前后方向的小箭头,可以用它来 定位到 前面/后面的tab

 

5、

 

posted @ 2016-07-10 14:27  CppSkill  阅读(3373)  评论(0编辑  收藏  举报