How to Change the Background Color of QWidget/ja: Difference between revisions
Jump to navigation
Jump to search
AutoSpider (talk | contribs) m (AutoSpider moved page How to Change the Background Color of QWidget Japanese to How to Change the Background Color of QWidget/ja: Localisation) |
No edit summary |
||
Line 37: | Line 37: | ||
どちらの方法でも QWidget の背景色が変わったことを Qt SDK 1.1 と Symbian^3 デバイスで確認しました。 | どちらの方法でも QWidget の背景色が変わったことを Qt SDK 1.1 と Symbian^3 デバイスで確認しました。 | ||
注意: QWidgetを継承したカスタムウィジェットの場合、スタイルシートを使うためにpaintEventを準備する必要があります。 | |||
<code> | |||
void CustomWidget::paintEvent(QPaintEvent *) | |||
{ | |||
QStyleOption opt; | |||
opt.init(this); | |||
QPainter p(this); | |||
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); | |||
} | |||
</code> |
Latest revision as of 11:41, 9 September 2015
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
English | Български | 日本語 | 简体中文
QWidget の背景色を変える方法
QWidget は全てのユーザーインターフェースオブジェクトの基底クラスです。そのため、他のウィジェットでも同じ方法で背景色を変えることが出来ます。
パレットを使う
最初のサンプルでは QPalette を使って背景色を変える方法を示します。
m_pMyWidget = new QWidget(this);
m_pMyWidget->setGeometry(0,0,300,100);
QPalette Pal(palette());
// 背景色を黒にする
Pal.setColor(QPalette::Background, Qt::black);
m_pMyWidget->setAutoFillBackground(true);
m_pMyWidget->setPalette(Pal);
m_pMyWidget->show();
スタイルシートを使う
スタイルシートではウィジェットのスタイルをテキストの記述を用いてカスタマイズすることが出来ます。詳細は Qt Style Sheets document を参照してください。
m_pMyWidget = new QWidget(this);
m_pMyWidget->setGeometry(0,0,300,100);
m_pMyWidget->setStyleSheet("background-color:black;");
m_pMyWidget->show();
どちらの方法でも QWidget の背景色が変わったことを Qt SDK 1.1 と Symbian^3 デバイスで確認しました。
注意: QWidgetを継承したカスタムウィジェットの場合、スタイルシートを使うためにpaintEventを準備する必要があります。
void CustomWidget::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}