QFrame Class
QFrameクラスは、フレームを持つことができるウィジェットの基本クラスです。詳細...
Header: | #include <QFrame> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | QWidget |
Inherited By: | QAbstractScrollArea, QLabel, QLCDNumber, QSplitter, QStackedWidget, and QToolBox |
パブリックタイプ
enum | Shadow { Plain, Raised, Sunken } |
enum | Shape { NoFrame, Box, Panel, StyledPanel, HLine, …, WinPanel } |
enum | StyleMask { Shadow_Mask, Shape_Mask } |
プロパティ
|
|
パブリック関数
QFrame(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()) | |
virtual | ~QFrame() |
QRect | frameRect() const |
QFrame::Shadow | frameShadow() const |
QFrame::Shape | frameShape() const |
int | frameStyle() const |
int | frameWidth() const |
int | lineWidth() const |
int | midLineWidth() const |
void | setFrameRect(const QRect &) |
void | setFrameShadow(QFrame::Shadow) |
void | setFrameShape(QFrame::Shape) |
void | setFrameStyle(int style) |
void | setLineWidth(int) |
void | setMidLineWidth(int) |
再実装パブリック関数
virtual QSize | sizeHint() const override |
保護された関数
virtual void | initStyleOption(QStyleOptionFrame *option) const |
再実装された保護された関数
virtual void | changeEvent(QEvent *ev) override |
virtual bool | event(QEvent *e) override |
virtual void | paintEvent(QPaintEvent *) override |
詳細説明
QMenu QProgressBar は「沈んだ」外観。 はフラットな外観。これらのようなウィジェットのフレームは変更できます。QLabel
QLabel label(...); label.setFrameStyle(QFrame::Panel | QFrame::Raised); label.setLineWidth(2); QProgressBar pbar(...); label.setFrameStyle(QFrame::NoFrame);
QFrameクラスは、コンテンツのないシンプルなプレースホルダーフレームを作成するために直接使用することもできます。
フレームのスタイルは、frame shape と、周囲のウィジェットからフレームを視覚的に分離するためのshadow style で指定します。これらのプロパティは、setFrameStyle() 関数で設定し、frameStyle() で読み込むことができます。
フレーム形状はNoFrame,Box,Panel,StyledPanel,HLine,VLine; シャドウ・スタイルはPlain,Raised,Sunken です。
フレーム・ウィジェットには、境界線の太さを表す3つの属性があります:lineWidth midLineWidth とframeWidth です。
- 線幅はフレームのボーダーの幅です。これは、フレームの外観をカスタマイズするために変更することができます。
- 中間線の幅は、フレームの真ん中にある余分な線の幅を指定します。これは、特別な3D効果を得るために3番目の色を使用します。中間の線は、Box 、HLine 、VLine のフレームで、盛り上がっているか沈んでいるものだけに描かれることに注意してください。
- フレームの幅はフレームスタイルによって決定され、frameWidth ()関数を使用して、使用するスタイルに対して定義された値を取得します。
フレームとフレームの内容の間のマージンは、QWidget::setContentsMargins() 関数でカスタマイズできます。
この表は、スタイルと線幅の組み合わせの一部を示しています:
メンバ型ドキュメント
enum QFrame::Shadow
この列挙型は、フレームに3D効果を与えるために使用される影のタイプを定義します。
定数 | 値 | 説明 |
---|---|---|
QFrame::Plain | 0x0010 | パレットQPalette::WindowText の色を使って描画します (3D効果なし)。 |
QFrame::Raised | 0x0020 | カ レ ン ト カ ラ ーの色グループの明 色 と 暗 色を使っ て 3D な隆起線を描 き ます。 |
QFrame::Sunken | 0x0030 | 現在の色グループの明るい色と暗い色を使って、3Dの沈んだ線を描きます。 |
Shadowは、QFrame::Shape 、lineWidth ()、midLineWidth ()と相互作用します。メイン・クラスのドキュメントにあるフレームの画像を参照してください。
QFrame::Shape 、lineWidth()、midLineWidth()も参照してください 。
enum QFrame::Shape
この列挙型は、利用可能なフレームの形状を定義します。
定数 | 値 | 説明 |
---|---|---|
QFrame::NoFrame | 0 | QFrame 何も描画しない |
QFrame::Box | 0x0001 | QFrame 内容を囲むボックスを描画します。 |
QFrame::Panel | 0x0002 | QFrame パネルが盛り上がって見えたり、沈んで見えたりするように描画します。 |
QFrame::StyledPanel | 0x0006 | 現在のGUIスタイルに依存した外観を持つ長方形のパネルを描画します。盛り上がったり沈んだりします。 |
QFrame::HLine | 0x0004 | QFrame 何も縁取らない水平線を描画します (セパレータとして便利です)。 |
QFrame::VLine | 0x0005 | QFrame 何も縁取らない垂直線を描画します (セパレータとして便利です)。 |
QFrame::WinPanel | 0x0003 | Windows2000にあるような長方形のパネルを描画します。この形状を指定すると、線幅が2ピクセルに設定されます。WinPanelは互換性のために提供されています。GUIスタイルに依存しないためには、代わりにStyledPanelを使用することをお勧めします。 |
QStyle を呼び出さない場合、Shape はQFrame::Shadow 、lineWidth() 、midLineWidth() と相互作用して、全体の結果を作成します。メイン・クラスのドキュメントにあるフレームの画像を参照してください。
QFrame::Shadow 、QFrame::style()、QStyle::drawPrimitive()も参照してください 。
enum QFrame::StyleMask
この列挙型は、frameStyle() の 2 つのコンポーネントを抽出するために使用できる 2 つの定数を定義します:
定数 | 値 | 説明 |
---|---|---|
QFrame::Shadow_Mask | 0x00f0 | frameStyle() のShadow の部分。 |
QFrame::Shape_Mask | 0x000f | frameStyle() のShape 部分。 |
frameShadow() とframeShape() は、すでにframeStyle() のShadow とShape の部分を抽出しているので、通常はこれらを使用する必要はない。
frameStyle() およびsetFrameStyle()も参照 。
プロパティ Documentation
frameRect : QRect
このプロパティは、フレームの矩形を保持します。
フレームの矩形は、フレームが描画される矩形です。デフォルトでは、これはウィジェット全体です。矩形を設定しても、ウィジェットは更新されません。フレームの矩形は、ウィジェットのサイズが変更されると自動的に調整されます。
矩形をヌル矩形(例えば、QRect(0, 0, 0, 0))に設定した場合、結果のフレーム矩形はwidget rectangle と同じになります。
アクセス関数:
QRect | frameRect() const |
void | setFrameRect(const QRect &) |
frameShadow : Shadow
このプロパティは、フレームスタイルのフレームシャドウ値を保持します。
アクセス関数:
QFrame::Shadow | frameShadow() const |
void | setFrameShadow(QFrame::Shadow) |
frameStyle() およびframeShape()も参照のこと 。
frameShape : Shape
このプロパティは、フレームスタイルのフレームシェイプ値を保持します。
アクセス関数:
QFrame::Shape | frameShape() const |
void | setFrameShape(QFrame::Shape) |
frameStyle() およびframeShadow()も 参照のこと。
[read-only]
frameWidth : const int
このプロパティは、描画されるフレームの幅を保持します。
枠の幅は、線幅と中線の幅だけでなく、frame style に依存することに注意。例えば、NoFrame で指定されたスタイルは常にフレーム幅が0であるのに対し、Panel のスタイルは行幅と同等のフレーム幅を持つ。
アクセス関数:
int | frameWidth() const |
lineWidth ()、midLineWidth ()、frameStyle ()も参照のこと 。
lineWidth : int
このプロパティは、行幅
セパレータとして使用されるフレーム(HLine とVLine )の合計行幅は、frameWidth で指定されることに注意してください。
デフォルト値は1です。
アクセス関数:
int | lineWidth() const |
void | setLineWidth(int) |
midLineWidth およびframeWidthも参照 。
midLineWidth : int
このプロパティは、中線の幅を保持します。
デフォルト値は 0 です。
アクセス関数:
int | midLineWidth() const |
void | setMidLineWidth(int) |
lineWidth およびframeWidth も参照 。
メンバ関数ドキュメント
[explicit]
QFrame::QFrame(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())
フレームスタイルNoFrame と 1 ピクセルのフレーム幅を持つフレームウィジェットを構築します。
parent とf の引数はQWidget コンストラクタに渡されます。
[virtual noexcept]
QFrame::~QFrame()
フレームを破棄します。
[override virtual protected]
void QFrame::changeEvent(QEvent *ev)
再実装します:QWidget::changeEvent(QEvent *event)。
[override virtual protected]
bool QFrame::event(QEvent *e)
再インプリメント:QWidget::event(QEvent *event)。
int QFrame::frameStyle() const
フレームのスタイルを返します。
デフォルト値はQFrame::Plain です。
setFrameStyle()、frameShape()、frameShadow()も参照してください 。
[virtual protected]
void QFrame::initStyleOption(QStyleOptionFrame *option) const
QFrame の値でoption を初期化します。このメソッドは、サブクラスがQStyleOptionFrame を必要とするが、すべての情報を自分で入力したくない場合に便利です。
QStyleOption::initFrom()も参照してください 。
[override virtual protected]
void QFrame::paintEvent(QPaintEvent *)
再実装:QWidget::paintEvent(QPaintEvent *event)。
void QFrame::setFrameStyle(int style)
フレームスタイルをstyle に設定します。
style は、フレーム形状とフレーム影スタイルのビット OR です。メイン・クラスのドキュメントにあるフレームの画像を参照してください。
枠の形はQFrame::Shape に、影のスタイルはQFrame::Shadow に示されています。
中線の幅を 0 より大きく指定すると、Raised またはSunken Box ,HLine,VLine のフレームに対して追加の線が引かれます。現在の色グループの中間色が中間線の描画に使用されます。
frameStyle()も参照 。
[override virtual]
QSize QFrame::sizeHint() const
プロパティのアクセス関数を再実装:QWidget::sizeHint 。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。