QTabWidget をサブクラス化するQTabWidget::tabBar()
と、使用する QTabBar を返す保護された関数にアクセスできます。QTabBar にはQTabBar::setTabTextColor()
、個々のタブのテキストの色を変更するメソッドがあります。次に例を示します。
#include <QtGui>
class TabWidget : public QTabWidget
{
public:
TabWidget()
{
addTab(new QPushButton("Hi 1!"), "Button 1 Tab");
addTab(new QPushButton("Hi 2!"), "Button 2 Tab");
tabBar()->setTabTextColor(0, QColor(Qt::red));
tabBar()->setTabTextColor(1, QColor(Qt::blue));
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
TabWidget tabWidget;
tabWidget.show();
return app.exec();
}
さらに制御が必要な場合は、独自のタブ ウィジェットを作成できます。docsによると、 QTabWidget は基本的に QStackedWidget と QTabBar を組み合わせたものです。たとえば、QStackedWidget を定型化された QPushButtons のセットと組み合わせることで、独自のタブ ウィジェットを作成できます。