2012-07-16 280 views
5

私はQt Creatorを使用しています。私のGUIでは、タブウィジェットを使用しています。このウィジェットは、メインウィンドウ(画像A)と同じ灰色の背景色を持つ必要があります。私は解決できないQt Creatorでタブウィジェットの背景色を設定する方法は?

enter code herebackground-colour: rgb(240, 240, 240); 

しかし、今、私は2つの新たな問題があります:( - >送信)四捨五入されていません

  • ボタン私はとのQt Designerでスタイルシートを編集することによって、これを達成しましたもう
  • 編集ボックスの背景色もグレーに変更されています。私はまた

    QPalette pal = m_pUi->tabWidget->palette(); 
    pal.setColor(m_pUi->tabWidget->backgroundRole(), Qt::blue); 
    m_pUi->tabWidget->setPalette(pal); 
    

    を試みたが、これが唯一のタブの背後にある色ではなく、全体の色を変更

    GUIは、画像Bのように見えたスタイルシートを変更Befor

全体の「タブウィンドウ面」。

スタイルの説明を追加する必要がありますか、より簡単な解決策がありますか?

Picture A - with Style Sheet

ピクチャーA - スタイルシートと

Picture B - without Style Sheet

ピクチャーB - スタイルシートなし

+0

私は、XPでは背景が常に灰色ですが、Windows 7ではそれが白であることを知りました。 –

+0

あなたは、パレットのボタンの色を混乱させてみましたか?それは、タブバーがタブのためにそれを使用するかもしれません。スタイルシートのない画像では、タブとボタンが非常によく似ています。 –

答えて

0

アクセスしたい "もの" がQTabBarsと呼ばれています。心の中であなたは、このようなスタイルシートを書くことができることを維持する:

QTabBar::tab 
{ 
    background: #48555E; 
    color: white; 
    border-color: #48555E; 
} 

QTabBar::tab:selected, 
QTabBar::tab:hover 
{ 
    border-top-color: #1D2A32; 
    border-color: #40494E; 
    color: black; 
    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #C1D8E8, stop: 1 #F0F5F8); 
} 

また、あなたがthis questionと、このofficial documentation洞察力のを見つけるかもしれません。

4

私は同じ問題を抱えていたし、私はあなたがあなたのタブのそれぞれにこの属性を設定する必要があることを発見:

ui->tab->setAutoFillBackground(true); 

私はわからないんだけど、私はまたに属性セット必要であると考えますそのようなものとしてQTabWidget

このヘルプが欲しいです。

+1

はい、これを試してみましたが、うまくいきました。とてもシンプルなので、必要なものがウィンドウの背景色であれば、スタイルシートを混乱させる必要はありません。 QtDesignerでこれを設定することもできます。これは私が行ったことです。オブジェクトインスペクタでは、各タブはQTabWidgetの下にあるQWidgetです。それぞれのsetAutoFillBackgroundプロパティをチェックすると完了です。 – U62

関連する問題