Custom Tab Bar/bg: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
AutoSpider (talk | contribs) m (AutoSpider moved page CustomTabBar Bulgarian to Custom Tab Bar/bg: Localisation) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Cleanup | reason=Auto-imported from ExpressionEngine.}} | |||
[[Category:snippets]] | [[Category:snippets]] | ||
Line 5: | Line 7: | ||
= Промяна на QTabBar = | = Промяна на QTabBar = | ||
В тази статия се демонстрира как да се създаде клас наследник на | В тази статия се демонстрира как да се създаде клас наследник на [http://doc.qt.io/qt-5.0/qtwidgets/qtabbar.html QTabBar], който да показва изображенията винаги центрирани (по подразбиране QTabBar подравнява иконите винаги в ляво). | ||
Приложеният тук клас показва добавяне само на един таб, но по същият начин могат да бъдат добавени още табове. | Приложеният тук клас показва добавяне само на един таб, но по същият начин могат да бъдат добавени още табове. | ||
<code> | |||
// header file not shown here | |||
#include "MyTabBar.h" | |||
#include <QLabel> | |||
MyTabBar::MyTabBar(QWidget *parent) | MyTabBar::MyTabBar(QWidget *parent) | ||
: QTabBar(parent) | |||
{ | |||
this->addTab(QString()); | |||
QLabel *lbl; | 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 | // can set a larger size below too, but the icon is always center aligned | ||
lbl->setFixedSize(16,16); | |||
this->setTabButton(0, QTabBar::LeftSide, lbl); | |||
} | |||
</code> | |||
Клас, наследник на | Клас, наследник на [http://doc.qt.nokia.com/latest/qtabwidget.html QTabWidget], който използва създадения таб бар: | ||
<code> | |||
#include "MyTabWidget.h" | |||
#include "MyTabBar.h" | |||
#include <QDebug> | #include <QDebug> | ||
MyTabWidget::MyTabWidget(QWidget *parent) | MyTabWidget::MyTabWidget(QWidget *parent) | ||
: QTabWidget(parent) | |||
{ | |||
this->setGeometry(QRect(10, 10, 300, 250)); | |||
MyTabBar *bar; | MyTabBar *bar; | ||
bar = new MyTabBar(); | |||
this->setTabBar(bar); | |||
} | |||
</code> | |||
Извикване от '''mainwindow.cpp''' както следва: | Извикване от '''mainwindow.cpp''' както следва: | ||
<code> | |||
MyTabWidget *mytab; | |||
mytab = new MyTabWidget(centralWidget()); | |||
</code> |
Latest revision as of 15:58, 16 March 2015
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
#include "MyTabBar.h"
#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, който използва създадения таб бар:
#include "MyTabWidget.h"
#include "MyTabBar.h"
#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());