2017-11-26 55 views
0

Qt Designerのタブを反転させたいと思っています。Qt作成者の反転タブQTabWidget?

私はQTabWidget標準からタブを変更しているよさ:

/- TAB1 - \/- TAB2 - \ ________________

に\ - タブ1 -/\ - tab2 -/**********************

このタブは、それの。

これを行う簡単な方法はありますか?多分Qtabwidgetの設定や、これを実現するためにCSSを編集する何らかの方法がありますか?タスクはQSSを行うことが可能ではないことを

おかげ

+0

私のソリューションは機能しましたか? – eyllanesc

答えて

1

は、何をしなければならないことは、あなた自身のQTabBarを作成し、paintEvent()メソッドを上書きされ、別の問題がsetTabBar方法は、あなたますのでプライベートなことですあなたはQtのデザイナ内でそのクラスを使用する場合、QTabWidgetから継承するクラスを作成する必要があり、あなたはそれを促進する必要があります。

#ifndef TABWIDGET_H 
#define TABWIDGET_H 

#include <QStyleOptionTab> 
#include <QStylePainter> 
#include <QTabWidget> 

class TabBar: public QTabBar 
{ 
protected: 
    void paintEvent(QPaintEvent */*event*/){ 

     QStylePainter painter(this); 
     QStyleOptionTab opt; 

     for(int i = 0;i < count();i++) 
     { 
      initStyleOption(&opt,i); 

      QPoint c = tabRect(i).center(); 
      painter.translate(c); 
      painter.rotate(-180); 
      painter.translate(-c); 
      painter.drawControl(QStyle::CE_TabBarTabShape, opt); 
      painter.resetTransform(); 

      painter.drawControl(QStyle::CE_TabBarTabLabel,opt); 
     } 
    } 
}; 

class TabWidget : public QTabWidget 
{ 
public: 
    TabWidget(QWidget *parent=0):QTabWidget(parent){ 
     setTabBar(new TabBar); 
     setTabShape(QTabWidget::Triangular); 
    } 
}; 

#endif // TABWIDGET_H 

完全な例は、以下のlinkで見つけることができます。

enter image description here

関連する問題