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

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:snippets]]<br />[[Category:HowTo]]
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
 
[[Category:snippets]]
[[Category:HowTo]]


[[How_to_Change_the_Background_Color_of_QWidget|English]] | [[How_to_Change_the_Background_Color_of_QWidget_Bulgarian|Български]] | '''日本語''' | [[How_to_Change_the_Background_Color_of_QWidget_SimplifiedChinese|简体中文]]
[[How_to_Change_the_Background_Color_of_QWidget|English]] | [[How_to_Change_the_Background_Color_of_QWidget_Bulgarian|Български]] | '''日本語''' | [[How_to_Change_the_Background_Color_of_QWidget_SimplifiedChinese|简体中文]]
Line 5: Line 8:
= QWidget の背景色を変える方法 =
= QWidget の背景色を変える方法 =


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


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


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


<code><br />m_pMyWidget = new QWidget(this);<br />m_pMyWidget-&gt;setGeometry(0,0,300,100);<br />QPalette Pal(palette());<br />// 背景色を黒にする<br />Pal.setColor(QPalette::Background, Qt::black);<br />m_pMyWidget-&gt;setAutoFillBackground(true);<br />m_pMyWidget-&gt;setPalette(Pal);<br />m_pMyWidget-&gt;show();<br /></code>
<code>
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();
</code>


== スタイルシートを使う ==
== スタイルシートを使う ==


スタイルシートではウィジェットのスタイルをテキストの記述を用いてカスタマイズすることが出来ます。詳細は &quot;Qt Style Sheets document&amp;quot;: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><br />m_pMyWidget = new QWidget(this);<br />m_pMyWidget-&gt;setGeometry(0,0,300,100);<br />m_pMyWidget-&gt;setStyleSheet(&quot;background-color:black;&quot;);<br />m_pMyWidget-&gt;show();<br /></code>
<code>
m_pMyWidget = new QWidget(this);
m_pMyWidget->setGeometry(0,0,300,100);
m_pMyWidget->setStyleSheet("background-color:black;");
m_pMyWidget->show();
</code>


どちらの方法でも 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);
}