How to Change the Background Color of QWidget/ja: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Add "cleanup" tag)
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 8: Line 8:
= QWidget の背景色を変える方法 =
= QWidget の背景色を変える方法 =


"QWidget":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html は全てのユーザーインターフェースオブジェクトの基底クラスです。そのため、他のウィジェットでも同じ方法で背景色を変えることが出来ます。
[http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html QWidget] は全てのユーザーインターフェースオブジェクトの基底クラスです。そのため、他のウィジェットでも同じ方法で背景色を変えることが出来ます。


== パレットを使う ==
== パレットを使う ==


最初のサンプルでは "QPalette":http://doc.qt.io/qt-5.0/qtgui/qpalette.html を使って背景色を変える方法を示します。
最初のサンプルでは [http://doc.qt.io/qt-5.0/qtgui/qpalette.html QPalette] を使って背景色を変える方法を示します。


<code>
<code>
Line 27: Line 27:
== スタイルシートを使う ==
== スタイルシートを使う ==


スタイルシートではウィジェットのスタイルをテキストの記述を用いてカスタマイズすることが出来ます。詳細は "Qt Style Sheets document":http://doc.qt.io/qt-5.0/qtwidgets/stylesheet.html を参照してください。
スタイルシートではウィジェットのスタイルをテキストの記述を用いてカスタマイズすることが出来ます。詳細は [http://doc.qt.io/qt-5.0/qtwidgets/stylesheet.html Qt Style Sheets document] を参照してください。


<code>
<code>
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);
}