Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Custom Tab Bar/de: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Add "cleanup" tag)
m (AutoSpider moved page CustomTabBar German to Custom Tab Bar/de: Localisation)
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
= Benutzerdefinierte TabBar =
= Benutzerdefinierte TabBar =


Im folgenden wird demonstriert, wie man eine eigene Klasse von QTabBar ableiten kann. In diesem Beispiel soll die benutzerdefinierte TabBar ein Icon immer mittig anzeigen, im Gegensatz zur originalen "QTabBar":http://doc.qt.io/qt-5.0/qtwidgets/qtabbar.html, die das Icon immer linksbündig anzeigt.
Im folgenden wird demonstriert, wie man eine eigene Klasse von QTabBar ableiten kann. In diesem Beispiel soll die benutzerdefinierte TabBar ein Icon immer mittig anzeigen, im Gegensatz zur originalen [http://doc.qt.io/qt-5.0/qtwidgets/qtabbar.html QTabBar], die das Icon immer linksbündig anzeigt.


Hier der Constructor der benutzerdefinierten TabBar (es wird nur ein Tab hinzugefügt, aber eine Erweiterung auf mehr Tabs ist natürlich möglich).
Hier der Constructor der benutzerdefinierten TabBar (es wird nur ein Tab hinzugefügt, aber eine Erweiterung auf mehr Tabs ist natürlich möglich).

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.

Deutsch | English | Български

Benutzerdefinierte TabBar

Im folgenden wird demonstriert, wie man eine eigene Klasse von QTabBar ableiten kann. In diesem Beispiel soll die benutzerdefinierte TabBar ein Icon immer mittig anzeigen, im Gegensatz zur originalen QTabBar, die das Icon immer linksbündig anzeigt.

Hier der Constructor der benutzerdefinierten TabBar (es wird nur ein Tab hinzugefügt, aber eine Erweiterung auf mehr Tabs ist natürlich möglich).

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

Eine benutzerdefinierte TabWidget-Klasse (MyTabWidget), die unsere benutzerdefinierte TabBar verwendet:

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

Und so kann man die neue TabWidget-Klasse bespielsweise in mainwindow.cpp benutzen:

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