Custom Tab Bar/bg: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:snippets]] | |||
'''Български''' [[CustomTabBar|English]] | '''Български''' [[CustomTabBar|English]] | ||
=Промяна на QTabBar= | = Промяна на QTabBar = | ||
В тази статия се демонстрира как да се създаде клас наследник на "QTabBar":http://doc.qt.io/qt-5.0/qtwidgets/qtabbar.html, който да показва изображенията винаги центрирани (по подразбиране QTabBar подравнява иконите винаги в ляво). | |||
Приложеният тук клас показва добавяне само на един таб, но по същият начин могат да бъдат добавени още табове.<br /><code><br />// header file not shown here<br />#include "MyTabBar.h&quot;<br />#include <QLabel&gt; | |||
MyTabBar::MyTabBar(QWidget *parent)<br /> : QTabBar(parent)<br />{<br /> this->addTab(QString()); | |||
QLabel *lbl;<br /> lbl = new QLabel();<br /> lbl->setPixmap(QPixmap(QString::fromUtf8("../../popup/5.png&quot;)));<br /> lbl->setAlignment(Qt::AlignCenter); | |||
// can set a larger size below too, but the icon is always center aligned<br /> lbl->setFixedSize(16,16);<br /> this->setTabButton(0, QTabBar::LeftSide, lbl);<br />}<br /></code> | |||
Клас, наследник на "QTabWidget&quot;:http://doc.qt.nokia.com/latest/qtabwidget.html, който използва създадения таб бар:<br /><code><br />#include "MyTabWidget.h&quot;<br />#include "MyTabBar.h&quot; | |||
#include <QDebug&gt; | |||
MyTabWidget::MyTabWidget(QWidget *parent)<br /> : QTabWidget(parent)<br />{<br /> this->setGeometry(QRect(10, 10, 300, 250)); | |||
= | MyTabBar *bar;<br /> bar = new MyTabBar();<br /> this->setTabBar(bar);<br />}<br /></code> | ||
* | Извикване от '''mainwindow.cpp''' както следва:<br /><code><br /> MyTabWidget *mytab;<br /> mytab = new MyTabWidget(centralWidget());<br /></code> |
Revision as of 06:17, 24 February 2015
Български English
Промяна на QTabBar
В тази статия се демонстрира как да се създаде клас наследник на "QTabBar":http://doc.qt.io/qt-5.0/qtwidgets/qtabbar.html, който да показва изображенията винаги центрирани (по подразбиране QTabBar подравнява иконите винаги в ляво).
Приложеният тук клас показва добавяне само на един таб, но по същият начин могат да бъдат добавени още табове.
<br />// header file not shown here<br />#include "MyTabBar.h&quot;<br />#include <QLabel&gt;
MyTabBar::MyTabBar(QWidget *parent)<br /> : QTabBar(parent)<br />{<br /> this->addTab(QString());
QLabel *lbl;<br /> lbl = new QLabel();<br /> lbl->setPixmap(QPixmap(QString::fromUtf8("../../popup/5.png&quot;)));<br /> lbl->setAlignment(Qt::AlignCenter);
// can set a larger size below too, but the icon is always center aligned<br /> lbl->setFixedSize(16,16);<br /> this->setTabButton(0, QTabBar::LeftSide, lbl);<br />}<br />
Клас, наследник на "QTabWidget":http://doc.qt.nokia.com/latest/qtabwidget.html, който използва създадения таб бар:
<br />#include "MyTabWidget.h&quot;<br />#include "MyTabBar.h&quot;
#include <QDebug&gt;
MyTabWidget::MyTabWidget(QWidget *parent)<br /> : QTabWidget(parent)<br />{<br /> this->setGeometry(QRect(10, 10, 300, 250));
MyTabBar *bar;<br /> bar = new MyTabBar();<br /> this->setTabBar(bar);<br />}<br />
Извикване от mainwindow.cpp както следва:
<br /> MyTabWidget *mytab;<br /> mytab = new MyTabWidget(centralWidget());<br />