2016-07-14 38 views
0

QTabWidgetのようにスタイルを設定するには、下の画像を参考にしてください。スタイルシートを使用してQTabWidgetをカスタマイズする

enter image description here

問題がある:私はスタイルシートに

QTabWidget:pane { 
border: 1px solid gray; 
} 

を設定した場合、それは次のようになります。

[qt can do][2].

+1

期待通りですか? (2つの画像は同じです) – ABCplus

+1

同じではありません。 2番目の選択されたタブバーには、望ましくないボトムボーダーがあります。 –

+0

これをチェックしてください:http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbarあなたは 'QTabBar'をスタイリングする必要があるように見えます。 – hyde

答えて

0

。ここに解決策があります。

私に正しい方向を教えてくれてありがとう。ここに近似スタイルシートがあります。重要なのはQTabWidget :: pane {top:-1px; }。それは妨害しないようにペインを上に移動します(そして上のボーダーです)。QTabBar :: tab:selected {margin-bottom:-1px; }同様に、タブバーの下端と枠の上端の相違点が表示されないようにします。

QTabWidget::pane { 
    border: 1px solid lightgray; 
    top:-1px; 
    background: rgb(245, 245, 245);; 
} 

QTabBar::tab { 
    background: rgb(230, 230, 230); 
    border: 1px solid lightgray; 
    padding: 15px; 
} 

QTabBar::tab:selected { 
    background: rgb(245, 245, 245); 
    margin-bottom: -1px; 
} 
0

tabwidgetスタイリング:

QTabWidget::tab-bar { 
    border: 1px solid gray; 
} 

スタイリングタブ:

QTabBar::tab { 
    background: gray; 
    color: white; 
    padding: 10px; 
} 

QTabBar::tab:selected { 
    background: lightgray; 
} 

スタイリングパネル:

QTabWidget::pane { 
    border: none; 
} 

例:私のコメントを再投稿

enter image description here

+0

しかし、それは選択されたTabBarの一番下の行から私たちを保存しません。この行は、上部ペインの境界線からのものです。 –

+0

私が行った変更を見てください。境界線を無効にし、任意のタブ内にあるウィジェットをカスタム化します。ユーザー:QTabWidget :: pane { border:none; } – mohabouje

+0

この変種も試しました。それでも、選択したTabbarを除いて、枠の枠線全体が必要です。ありがとうございますが、私は解決策を見つけました。投稿する場所がわからなかったので、最初のメッセージにコメントとして投稿しました。これはヘルプによって推薦されたように、ひどく目に見えます。 –

関連する問題