Difference between revisions of "Custom Tab Bar/bg"

From Qt Wiki
Jump to: navigation, search
 
m (AutoSpider moved page CustomTabBar Bulgarian to Custom Tab Bar/bg: Localisation)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
 +
 +
[[Category:snippets]]
 +
 
'''Български''' [[CustomTabBar|English]]
 
'''Български''' [[CustomTabBar|English]]
  
=Промяна на 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)
 +
: QTabBar(parent)
 +
{
 +
this->addTab(QString());
 +
 
 +
QLabel *lbl;
 +
lbl = new QLabel();
 +
lbl->setPixmap(QPixmap(QString::fromUtf8("../../popup/5.png")));
 +
lbl->setAlignment(Qt::AlignCenter);
  
В тази статия се демонстрира как да се създаде клас наследник на [http://doc.qt.io/qt-5.0/qtwidgets/qtabbar.html QTabBar] ''[qt.io]'', който да показва изображенията винаги центрирани (по подразбиране QTabBar подравнява иконите винаги в ляво).
+
// 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>
  
Приложеният тук клас показва добавяне само на един таб, но по същият начин могат да бъдат добавени още табове.<br />
+
Клас, наследник на [http://doc.qt.nokia.com/latest/qtabwidget.html QTabWidget], който използва създадения таб бар:
 +
<code>
 +
#include "MyTabWidget.h"
 +
#include "MyTabBar.h"
  
Клас, наследник на [http://doc.qt.nokia.com/latest/qtabwidget.html QTabWidget] ''[doc.qt.nokia.com]'', който използва създадения таб бар:<br />
+
#include <QDebug>
  
Извикване от '''mainwindow.cpp''' както следва:<br />
+
MyTabWidget::MyTabWidget(QWidget *parent)
 +
: QTabWidget(parent)
 +
{
 +
this->setGeometry(QRect(10, 10, 300, 250));
  
===Categories:===
+
MyTabBar *bar;
 +
bar = new MyTabBar();
 +
this->setTabBar(bar);
 +
}
 +
</code>
  
* [[:Category:snippets|snippets]]
+
Извикване от '''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());