Custom Tab Bar/bg

From Qt Wiki
(Redirected from CustomTabBar Bulgarian)
Jump to: navigation, search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Български English

Промяна на QTabBar

В тази статия се демонстрира как да се създаде клас наследник на QTabBar, който да показва изображенията винаги центрирани (по подразбиране QTabBar подравнява иконите винаги в ляво).

Приложеният тук клас показва добавяне само на един таб, но по същият начин могат да бъдат добавени още табове. // header file not shown here

  1. include "MyTabBar.h"
  2. include <QLabel>

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);

}

Клас, наследник на QTabWidget, който използва създадения таб бар:

  1. include "MyTabWidget.h"
  2. include "MyTabBar.h"
  1. include <QDebug>

MyTabWidget::MyTabWidget(QWidget *parent)

: QTabWidget(parent)

{

this->setGeometry(QRect(10, 10, 300, 250));

MyTabBar *bar;

bar = new MyTabBar();
this->setTabBar(bar);

}

Извикване от mainwindow.cpp както следва:

MyTabWidget *mytab;
mytab = new MyTabWidget(centralWidget());