QFrame Class
QFrameクラスは、フレームを持つことができるウィジェットの基本クラスです。詳細...
ヘッダー | #include <QFrame> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
を継承する: | QWidget |
によって継承される: | QAbstractScrollArea,QLabel,QLCDNumber,QSplitter,QStackedWidget, および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の沈んだ線を描きます。 |
シャドウは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() は、すでにShadow とShape の部分frameStyle() を抽出しているので、通常はこれらを使用する必要はない。
frameStyle() およびsetFrameStyle()も参照 。
プロパティ・ドキュメンテーション
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
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.