2009-10-06 14 views

答えて

12

ヨーヨーのパレットを変更します。ウルプレーンテキスト編集。サンプルプログラム:

#include <QApplication> 
#include <QPlainTextEdit> 

int main(int argc, char* argv[]) 
{ 
    QApplication app(argc, argv); 

    QPlainTextEdit edit; 
    QPalette p = edit.palette(); 

    p.setColor(QPalette::Active, QPalette::Base, Qt::red); 
    p.setColor(QPalette::Inactive, QPalette::Base, Qt::red); 

    edit.setPalette(p); 

    edit.show(); 
    return app.exec(); 
} 

任意の色に置き換えてください。

+1

このメソッドでは、スタイルシートを親またはコントロール自体に適用すると、このパレットが無効になります。ちょっと楽しいトラブルシューティングがありました:) – RandomInsano

+0

おかげで、ありがとう!私はまだスタイルシートで作業していないので、事前通知に感謝します。 – Bill

3

やや混乱して、色/色ではなく役割と呼んでいます。

http://doc.trolltech.com/main-snapshot/qwidget.html#setBackgroundRole

ヒント - あなたは、特定の制御機能を見つけることができない場合は、ショーをクリックしてメンバーを継承 - 最も一般的な設定は、画面上に描画eveythingの基礎であるQWidgetのです。

+0

ありがとうございますが、私はまだそれを正確に行う方法がわかりません... – deuces

+0

それを使用していませんが、このスレッドを参照してくださいhttp://lists.trolltech.com/qt-interest/2006-07/thread00174-0 .html –

0

QPlainTextEdit::setBackgroundVisible(true)に電話する必要があります。

0

背景を変更するためには、あなたがあなたのQPlainTextEditのpaletteを変更すると、目に見える背景を設定する必要があります。

myPlainTextEdit->setPalette(QPalette(/*Select the constructor you need*/)); 
myPlainTextEdit->setBackgroundVisible(true); 
3

QPlainTextEditは、スタイルシートをサポートしている場合、あなたはこのようにそれを行うことができます:

myPlainTextEdit->setStyleSheet("background-color: yellow"); 

または

qApp->setStyleSheet("QPlainTextEdit {background-color: yellow}"); 
関連する問題