QGraphicsWidget Class
QGraphicsWidget 클래스는 QGraphicsScene...에 있는 모든 위젯 항목의 기본 클래스입니다.. ..
헤더: | #include <QGraphicsWidget> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
상속합니다: | QGraphicsObject 및 QGraphicsLayoutItem |
상속받은 사람: |
공용 유형
enum | anonymous { Type } |
속성
|
|
공용 함수
QGraphicsWidget(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags()) | |
virtual | ~QGraphicsWidget() |
QList<QAction *> | actions() const |
void | addAction(QAction *action) |
void | addActions(const QList<QAction *> &actions) |
void | adjustSize() |
bool | autoFillBackground() const |
Qt::FocusPolicy | focusPolicy() const |
QGraphicsWidget * | focusWidget() const |
QFont | font() const |
void | getWindowFrameMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const |
int | grabShortcut(const QKeySequence &sequence, Qt::ShortcutContext context = Qt::WindowShortcut) |
void | insertAction(QAction *before, QAction *action) |
void | insertActions(QAction *before, const QList<QAction *> &actions) |
bool | isActiveWindow() const |
QGraphicsLayout * | layout() const |
Qt::LayoutDirection | layoutDirection() const |
virtual void | paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) |
QPalette | palette() const |
QRectF | rect() const |
void | releaseShortcut(int id) |
void | removeAction(QAction *action) |
void | resize(const QSizeF &size) |
void | resize(qreal w, qreal h) |
void | setAttribute(Qt::WidgetAttribute attribute, bool on = true) |
void | setAutoFillBackground(bool enabled) |
void | setContentsMargins(QMarginsF margins) |
void | setContentsMargins(qreal left, qreal top, qreal right, qreal bottom) |
void | setFocusPolicy(Qt::FocusPolicy policy) |
void | setFont(const QFont &font) |
void | setGeometry(qreal x, qreal y, qreal w, qreal h) |
void | setLayout(QGraphicsLayout *layout) |
void | setLayoutDirection(Qt::LayoutDirection direction) |
void | setPalette(const QPalette &palette) |
void | setShortcutAutoRepeat(int id, bool enabled = true) |
void | setShortcutEnabled(int id, bool enabled = true) |
void | setStyle(QStyle *style) |
void | setWindowFlags(Qt::WindowFlags wFlags) |
void | setWindowFrameMargins(QMarginsF margins) |
void | setWindowFrameMargins(qreal left, qreal top, qreal right, qreal bottom) |
void | setWindowTitle(const QString &title) |
QSizeF | size() const |
QStyle * | style() const |
bool | testAttribute(Qt::WidgetAttribute attribute) const |
void | unsetLayoutDirection() |
void | unsetWindowFrameMargins() |
Qt::WindowFlags | windowFlags() const |
QRectF | windowFrameGeometry() const |
QRectF | windowFrameRect() const |
QString | windowTitle() const |
Qt::WindowType | windowType() const |
재구현된 공용 함수
virtual QRectF | boundingRect() const override |
virtual void | getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const override |
virtual void | paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override |
virtual void | setGeometry(const QRectF &rect) override |
virtual QPainterPath | shape() const override |
virtual int | type() const override |
공용 슬롯
bool | close() |
시그널
void | geometryChanged() |
void | layoutChanged() |
정적 공용 멤버
void | setTabOrder(QGraphicsWidget *first, QGraphicsWidget *second) |
보호된 함수
virtual void | changeEvent(QEvent *event) |
virtual void | closeEvent(QCloseEvent *event) |
virtual bool | focusNextPrevChild(bool next) |
virtual void | grabKeyboardEvent(QEvent *event) |
virtual void | grabMouseEvent(QEvent *event) |
virtual void | hideEvent(QHideEvent *event) |
virtual void | initStyleOption(QStyleOption *option) const |
virtual void | moveEvent(QGraphicsSceneMoveEvent *event) |
virtual void | polishEvent() |
virtual void | resizeEvent(QGraphicsSceneResizeEvent *event) |
virtual void | showEvent(QShowEvent *event) |
virtual void | ungrabKeyboardEvent(QEvent *event) |
virtual void | ungrabMouseEvent(QEvent *event) |
virtual bool | windowFrameEvent(QEvent *event) |
virtual Qt::WindowFrameSection | windowFrameSectionAt(const QPointF &pos) const |
재구현된 보호 함수
virtual bool | event(QEvent *event) override |
virtual void | focusInEvent(QFocusEvent *event) override |
virtual void | focusOutEvent(QFocusEvent *event) override |
virtual void | hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override |
virtual void | hoverMoveEvent(QGraphicsSceneHoverEvent *event) override |
virtual QVariant | itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) override |
virtual bool | sceneEvent(QEvent *event) override |
virtual QSizeF | sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override |
virtual void | updateGeometry() override |
상세 설명
Q그래픽위젯은 QGraphicsItem 에 추가 기능을 제공하는 확장된 기본 항목입니다. QWidget 과 여러 면에서 유사합니다:
- palette, font 및 style()를 제공합니다.
- 정의된 geometry()가 있습니다.
- setLayout() 및 layout()로 레이아웃을 지원합니다.
- grabShortcut() 및 insertAction()로 바로 가기 및 작업을 지원합니다.
QGraphicsItem 와 달리 QGraphicsWidget은 추상 클래스가 아니므로 하위 클래스 없이도 QGraphicsWidget의 인스턴스를 만들 수 있습니다. 이 접근 방식은 자식 위젯을 레이아웃으로 구성하는 용도로만 사용되는 위젯에 유용합니다.
탭 포커스 및 활성화와 같은 고급 입력 포커스 처리 또는 레이아웃이 필요한 경우 QGraphicsWidget을 사용자 정의 항목의 기본 항목으로 사용할 수 있습니다.
QGraphicsWidget은 QWidget 와 유사하고 API가 비슷하므로 위젯을 QGraphicsItem 대신 QWidget 에서 QGraphicsWidget으로 포팅하는 것이 더 쉽습니다.
참고: QWidget-기반 위젯은 QGraphicsProxyWidget 을 사용하여 QGraphicsScene 에 직접 임베드할 수 있습니다.
QGraphicsWidget과 QWidget 의 눈에 띄는 차이점은 다음과 같습니다:
QGraphicsWidget | QWidget |
---|---|
좌표와 지오메트리는 qreals(플랫폼에 따라 더블 또는 플로트)로 정의됩니다. | QWidget 정수 지오메트리를 사용합니다(QPoint, QRect). |
위젯은 기본적으로 이미 표시되어 있으므로 위젯을 표시하기 위해 show()를 호출할 필요가 없습니다. | QWidget show ()를 호출할 때까지 기본적으로 숨겨져 있습니다. |
위젯 속성의 하위 집합이 지원됩니다. | 모든 위젯 속성이 지원됩니다. |
최상위 항목의 기본 스타일은 다음과 같습니다. QGraphicsScene::style | 최상위 위젯의 기본 스타일은 다음과 같습니다. QApplication::style |
그래픽 보기는 QWidget 과는 다른 사용자 지정 끌어서 놓기 프레임워크를 제공합니다. | 표준 드래그 앤 드롭 프레임워크와 다릅니다. |
위젯 항목은 모달리티를 지원하지 않습니다. | 전체 모달리티 지원. |
QGraphicsWidget은 아래 표에 표시된 것처럼 Qt 위젯 속성의 하위 집합 (Qt::WidgetAttribute)을 지원합니다. 이 표에 나열되지 않은 속성은 지원되지 않거나 사용되지 않는 속성입니다.
위젯 속성 | 사용법 |
---|---|
Qt::WA_SetLayoutDirection | setLayoutDirection()에 의해 설정되고 unsetLayoutDirection()에 의해 지워집니다. 이 속성을 테스트하여 위젯에 layoutDirection 속성이 명시적으로 할당되었는지 확인할 수 있습니다. 속성이 설정되지 않은 경우 layoutDirection()가 상속됩니다. |
Qt::WA_RightToLeft | setLayoutDirection()로 토글됩니다. 부모/씬에서 상속됩니다. 설정하면 위젯의 레이아웃은 오른쪽에서 왼쪽으로 가로로 정렬된 위젯을 정렬합니다. |
Qt::WA_SetStyle | setStyle()에 의해 설정 및 해제됩니다. 이 속성이 설정되어 있으면 위젯에 명시적으로 스타일이 할당된 것입니다. 설정되지 않은 경우 위젯은 장면 또는 애플리케이션의 스타일을 사용합니다. |
Qt::WA_Resized | setGeometry() 및 resize()에 의해 설정됩니다. |
Qt::WA_SetPalette | setPalette()에 의해 설정됩니다. |
Qt::WA_SetFont | setFont()에 의해 설정됩니다. |
Qt::WA_WindowPropagation | 창 위젯으로 전파를 활성화합니다. |
QGraphicsWidget은 QObject 및 QGraphicsItem 에서 모두 상속되지만, 부모 항목과 자식 항목 간의 관계를 관리하려면 QObject 이 아닌 QGraphicsItem 에서 제공하는 함수를 사용해야 합니다. 이러한 함수는 항목의 스택 순서와 소유권을 제어합니다.
참고: QObject::parent()는 QGraphicsWidgets에 대해 항상 nullptr
을 반환해야 하지만 이 정책은 엄격하게 정의되어 있지 않습니다.
QGraphicsProxyWidget, QGraphicsItem, 위젯 및 레이아웃도참조하세요 .
멤버 유형 문서
enum QGraphicsWidget::anonymous
가상 type() 함수가 반환하는 값입니다.
상수 | Value | 설명 |
---|---|---|
QGraphicsWidget::Type | 11 | 그래픽 위젯 항목 |
속성 문서
autoFillBackground : bool
이 속성은 위젯 배경이 자동으로 채워질지 여부를 보유합니다.
이 프로퍼티를 활성화하면 Qt가 paint() 메서드를 호출하기 전에 위젯의 배경을 채우도록 합니다. 사용되는 색은 위젯의 palette 의 QPalette::Window 색상 역할에 의해 정의됩니다.
또한 WA_OpaquePaintEvent 또는 WA_NoSystemBackground 속성이 설정되어 있지 않으면 항상 QPalette::Window 로 윈도우가 채워집니다.
기본적으로 이 속성은 false
입니다.
함수에 액세스합니다:
bool | autoFillBackground() const |
void | setAutoFillBackground(bool enabled) |
Qt::WA_OpaquePaintEvent 및 Qt::WA_NoSystemBackground 을참조하세요 .
focusPolicy : Qt::FocusPolicy
이 프로퍼티는 위젯이 키보드 포커스를 받아들이는 방식을 유지합니다.
포커스 정책은 위젯이 탭을 통한 키보드 포커스를 허용하는 경우 Qt::TabFocus, 클릭을 통한 포커스를 허용하는 경우 Qt::ClickFocus, 둘 다 허용하는 경우 Qt::StrongFocus, 포커스를 전혀 허용하지 않는 경우 Qt::NoFocus (기본값)입니다.
키보드 이벤트를 처리하는 위젯의 경우 키보드 포커스를 활성화해야 합니다. 이 작업은 일반적으로 위젯의 생성자에서 수행됩니다. 예를 들어 QLineEdit 생성자는 setFocusPolicy(Qt::StrongFocus)를 호출합니다.
포커스 정책을 활성화하면(예: Qt::NoFocus)이 아닌 QGraphicsWidget 은 자동으로 ItemIsFocusable 플래그를 활성화합니다. 위젯에서 Qt::NoFocus 을 설정하면 ItemIsFocusable 플래그가 지워집니다. 위젯에 현재 키보드 포커스가 있는 경우 위젯은 자동으로 포커스를 잃게 됩니다.
함수 액세스:
Qt::FocusPolicy | focusPolicy() const |
void | setFocusPolicy(Qt::FocusPolicy policy) |
focusInEvent(), focusOutEvent(), keyPressEvent(), keyReleaseEvent() 및 enabled 를참조하세요 .
font : QFont
이 속성은 위젯의 글꼴을 저장합니다.
이 프로퍼티는 위젯의 글꼴을 제공합니다.
QFont 명시적으로 정의된 폰트 프로퍼티와 위젯의 부모로부터 암시적으로 상속된 프로퍼티로 구성됩니다. 따라서 font()는 setFont()로 설정한 폰트와 다른 폰트를 반환할 수 있습니다. 이 방식을 사용하면 글꼴의 상속된 항목에 영향을 주지 않고 글꼴의 단일 항목을 정의할 수 있습니다.
위젯의 글꼴이 변경되면 위젯은 부모 위젯에 대해 해당 항목을 확인합니다. 위젯에 부모 위젯이 없는 경우 위젯은 씬을 기준으로 항목을 확인합니다. 그런 다음 위젯은 FontChange 이벤트를 전송하고 모든 하위 위젯에 알림을 보내 해당 위젯도 글꼴을 확인할 수 있도록 합니다.
기본적으로 이 속성에는 애플리케이션의 기본 글꼴이 포함됩니다.
함수 액세스:
QFont | font() const |
void | setFont(const QFont &font) |
QApplication::font(), QGraphicsScene::font, QFont::resolve()도 참조하세요 .
geometry : QRectF
이 속성은 위젯의 지오메트리를 보유합니다.
항목의 지오메트리를 rect 로 설정합니다. 이 함수를 호출하면 항목의 위치와 크기가 수정됩니다. 항목이 먼저 이동한 다음 크기가 조정됩니다.
이 함수를 호출하면 위젯이 이동 이벤트와 크기 조정 이벤트를 수신한다는 부작용이 있습니다. 또한 위젯에 레이아웃이 할당된 경우 레이아웃이 활성화됩니다.
액세스 함수
virtual void | setGeometry(const QRectF &rect) override |
void | setGeometry(qreal x, qreal y, qreal w, qreal h) |
알림 신호:
void | geometryChanged() |
geometry() 및 resize()도 참조하세요 .
layout : QGraphicsLayout*
이 속성은 위젯의 레이아웃을 보유합니다.
새 레이아웃이 할당되기 전에 기존 레이아웃 관리자가 삭제됩니다. layout 가 nullptr
인 경우 위젯은 레이아웃 없이 남겨집니다. 기존 하위 위젯의 지오메트리는 영향을 받지 않습니다.
QGraphicsWidget 는 layout 의 소유권을 가져옵니다.
현재 layout 또는 모든 하위 레이아웃에서 관리되는 모든 위젯은 자동으로 이 항목으로 부모가 변경됩니다. 그러면 레이아웃이 무효화되고 자식 위젯 지오메트리는 이 항목의 geometry() 및 contentsMargins()에 따라 조정됩니다. layout 에서 명시적으로 관리하지 않는 하위 레이아웃은 이 위젯에 할당된 후에도 레이아웃의 영향을 받지 않습니다.
현재 이 위젯을 관리하고 있는 레이아웃이 없는 경우 layout()은 nullptr
을 반환합니다.
함수에 액세스합니다:
알림 신호:
void | layoutChanged() |
layoutDirection : Qt::LayoutDirection
이 속성은 이 위젯의 레이아웃 방향을 유지합니다.
이 속성은 이 위젯과 모든 하위 위젯의 Qt::WA_RightToLeft 속성을 수정합니다. 또한 이 위젯의 Qt::WA_SetLayoutDirection 속성을 설정합니다.
위젯의 레이아웃 방향에 따라 레이아웃 관리자가 이 위젯의 하위 위젯을 가로로 정렬하는 순서가 결정됩니다. 기본값은 애플리케이션의 언어 및 로캘에 따라 다르며 일반적으로 단어가 읽히고 쓰이는 방향과 동일합니다. Qt::LeftToRight 을 사용하면 레이아웃이 이 위젯의 왼쪽에서 오른쪽으로 하위 위젯을 배치하기 시작합니다. Qt::RightToLeft 을 사용하면 레이아웃이 오른쪽 가장자리에서 시작하여 왼쪽으로 이동하는 위젯을 배치하는 반대의 경우입니다.
하위 위젯은 부모 위젯으로부터 레이아웃 방향을 상속받습니다. 최상위 위젯 항목은 QGraphicsScene::layoutDirection에서 레이아웃 방향을 상속받습니다. setLayoutDirection()을 호출하여 위젯의 레이아웃 방향을 변경하면 위젯은 LayoutDirectionChange 이벤트를 전송한 다음 모든 하위 항목에 새 레이아웃 방향을 전파합니다.
함수에 액세스합니다:
Qt::LayoutDirection | layoutDirection() const |
void | setLayoutDirection(Qt::LayoutDirection direction) |
void | unsetLayoutDirection() |
QWidget::layoutDirection 및 QApplication::layoutDirection 을참조하세요 .
maximumSize : const QSizeF
이 속성은 위젯의 최대 크기를 보유합니다.
setMaximumSize(), maximumSize(), minimumSize, 및 preferredSize도 참조하세요 .
minimumSize : const QSizeF
이 속성은 위젯의 최소 크기를 보유합니다.
setMinimumSize(), minimumSize(), preferredSize, 및 maximumSize 을참조하십시오 .
palette : QPalette
이 속성은 위젯의 팔레트를 보유합니다.
이 속성은 위젯의 팔레트를 제공합니다. 팔레트는 색상 그룹(예: QPalette::Button)과 상태(예: QPalette::Inactive)에 대한 색상과 브러시를 제공하여 위젯과 그 자식들의 일반적인 모양을 느슨하게 정의합니다.
QPalette 는 명시적으로 정의된 색상 그룹과 위젯의 부모로부터 암시적으로 상속된 그룹으로 구성됩니다. 이 때문에 palette()는 setPalette()로 설정한 것과 다른 팔레트를 반환할 수 있습니다. 이 방식을 사용하면 팔레트의 상속된 항목에 영향을 주지 않고 팔레트에서 단일 항목을 정의할 수 있습니다.
위젯의 팔레트가 변경되면 부모 위젯을 기준으로 항목을 확인하거나, 부모 위젯이 없는 경우 장면을 기준으로 확인합니다. 그런 다음 PaletteChange 이벤트를 전송하고 모든 하위 위젯에도 팔레트를 확인할 수 있도록 알림을 보냅니다.
기본적으로 이 속성에는 애플리케이션의 기본 팔레트가 포함됩니다.
액세스 함수:
QPalette | palette() const |
void | setPalette(const QPalette &palette) |
QGuiApplication::palette(), QGraphicsScene::palette, 및 QPalette::resolve()도 참조하세요 .
preferredSize : const QSizeF
이 속성은 위젯의 기본 크기를 저장합니다.
setPreferredSize(), preferredSize(), minimumSize, 및 maximumSize 을참조하세요 .
size : QSizeF
이 속성은 위젯의 크기를 보유합니다.
resize()를 호출하면 위젯의 크기가 minimumSize() 및 maximumSize()로 경계가 지정된 size 로 조정됩니다. 이 속성은 위젯의 너비와 높이(예: 위젯의 오른쪽 및 아래쪽 가장자리)에만 영향을 주며 위젯의 위치와 왼쪽 상단 모서리는 영향을 받지 않습니다.
위젯 크기를 조정하면 위젯이 위젯의 이전 크기와 새 크기가 포함된 GraphicsSceneResize 이벤트를 즉시 수신합니다. 이 이벤트가 도착할 때 위젯에 레이아웃이 할당되어 있으면 레이아웃이 활성화되고 모든 하위 위젯의 지오메트리가 자동으로 업데이트됩니다.
이 속성은 부모 위젯의 레이아웃에는 영향을 미치지 않습니다. 위젯 자체가 부모 레이아웃에 의해 관리되는 경우(예: 레이아웃이 할당된 부모 위젯이 있는 경우) 해당 레이아웃은 활성화되지 않습니다.
기본적으로 이 속성에는 너비와 높이가 0인 크기가 포함됩니다.
함수에 액세스합니다:
QSizeF | size() const |
void | resize(const QSizeF &size) |
void | resize(qreal w, qreal h) |
알림 신호:
void | geometryChanged() |
setGeometry(), QGraphicsSceneResizeEvent, QGraphicsLayout 를참조하세요 .
sizePolicy : const QSizePolicy
이 속성은 위젯의 크기 정책을 보유합니다.
sizePolicy(), setSizePolicy() 및 QWidget::sizePolicy()도 참조하세요 .
windowFlags : Qt::WindowFlags
이 속성은 위젯의 창 플래그를 보유합니다.
창 플래그는 창 유형(예: Qt::Dialog)과 창 동작에 대한 힌트를 제공하는 여러 플래그의 조합입니다. 동작은 플랫폼에 따라 다릅니다.
기본적으로 이 속성에는 창 플래그가 포함되어 있지 않습니다.
창은 패널입니다. Qt::Window 플래그를 설정하면 ItemIsPanel 플래그가 자동으로 설정됩니다. Qt::Window 플래그를 지우면 ItemIsPanel 플래그도 지워집니다. ItemIsPanel 플래그는 Qt::Window 와 독립적으로 설정할 수 있습니다.
액세스 기능:
Qt::WindowFlags | windowFlags() const |
void | setWindowFlags(Qt::WindowFlags wFlags) |
isWindow() 및 isPanel()도 참조하세요 .
windowTitle : QString
이 속성은 창 제목(캡션)을 저장합니다.
이 속성은 창에만 사용됩니다.
기본적으로 제목이 설정되지 않은 경우 이 속성에는 빈 문자열이 포함됩니다.
액세스 함수:
QString | windowTitle() const |
void | setWindowTitle(const QString &title) |
멤버 함수 문서
QGraphicsWidget::QGraphicsWidget(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
QGraphicsWidget 인스턴스를 구축합니다. 선택적 parent 인수는 QGraphicsItem 의 생성자에게 전달됩니다. 선택적 wFlags 인수는 위젯의 창 플래그(예: 위젯이 창인지, 도구인지, 팝업인지 등)를 지정합니다.
[virtual noexcept]
QGraphicsWidget::~QGraphicsWidget()
QGraphicsWidget 인스턴스를 삭제합니다.
QList<QAction *> QGraphicsWidget::actions() const
이 위젯의 액션의 (비어 있을 수 있는) 목록을 반환합니다.
insertAction(), removeAction(), QWidget::actions(), QAction::associatedWidgets() 및 QAction::associatedGraphicsWidgets()도 참조하세요 .
void QGraphicsWidget::addAction(QAction *action)
이 위젯의 동작 목록에 action 동작을 추가합니다.
모든 Q그래픽위젯에는 QAction목록이 있지만, 다양한 방식으로 그래픽으로 표현할 수 있습니다. QAction 목록의 기본 사용( actions()에서 반환된 대로)은 컨텍스트 QMenu 를 만드는 것입니다.
QGraphicsWidget 에는 각 액션이 하나씩만 있어야 하며 이미 있는 액션을 추가해도 위젯에 같은 액션이 두 번 표시되지 않습니다.
removeAction(), insertAction(), actions() 및 QWidget::addAction()도 참조하세요 .
void QGraphicsWidget::addActions(const QList<QAction *> &actions)
이 위젯의 작업 목록에 actions 작업을 추가합니다.
removeAction(), QMenu, addAction() 및 QWidget::addActions()도 참조하세요 .
void QGraphicsWidget::adjustSize()
위젯의 크기를 효과적인 기본 크기 힌트에 맞게 조정합니다.
이 함수는 항목이 처음 표시될 때 암시적으로 호출됩니다.
effectiveSizeHint() 및 Qt::MinimumSize 을참조하세요 .
[override virtual]
QRectF QGraphicsWidget::boundingRect() const
재구현합니다: QGraphicsItem::boundingRect() const.
[virtual protected]
void QGraphicsWidget::changeEvent(QEvent *event)
이 이벤트 핸들러는 상태 변경을 처리하도록 다시 구현할 수 있습니다.
이 이벤트에서 변경되는 상태는 event 을 통해 검색할 수 있습니다.
변경 이벤트에는 다음이 포함됩니다: QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::ParentChange, QEvent::LayoutDirectionChange, QEvent::ContentsRectChange 등이 있습니다.
[slot]
bool QGraphicsWidget::close()
위젯을 닫으려면 이 함수를 호출합니다.
위젯이 닫히면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. 이 슬롯은 먼저 위젯에 QCloseEvent 을 전송하며, 위젯은 이벤트를 수락하거나 수락하지 않을 수 있습니다. 이벤트가 무시되면 아무 일도 일어나지 않습니다. 이벤트가 수락되면 위젯이 hide()를 반환합니다.
위젯에 Qt::WA_DeleteOnClose 속성이 설정되어 있으면 위젯이 삭제됩니다.
[virtual protected]
void QGraphicsWidget::closeEvent(QCloseEvent *event)
event 에 대한 이 이벤트 핸들러는 위젯 닫기 이벤트를 수신하도록 하위 클래스에서 다시 구현할 수 있습니다. 기본 구현은 이벤트를 수락합니다.
close() 및 QCloseEvent 을참조하세요 .
[override virtual protected]
bool QGraphicsWidget::event(QEvent *event)
다시 구현합니다: QGraphicsObject::event(QEvent *ev).
event. QGraphicsWidget 은 다음 이벤트를 처리합니다:
Event | 사용법 |
---|---|
Polish | 위젯이 표시된 후 일정 시간 후에 전달됩니다. |
GraphicsSceneMove | 위젯의 로컬 위치가 변경된 후 위젯에 전달됩니다. |
GraphicsSceneResize | 위젯의 크기가 변경된 후 위젯에 전달됩니다. |
Show | 표시 - 위젯이 표시되기 전에 위젯에 전달됩니다. |
Hide | 위젯을 숨긴 후에 위젯에 전달됩니다. |
팔레트 변경 | 팔레트가 변경된 후 위젯에 전달됩니다. |
폰트 변경 | 글꼴이 변경된 후 위젯에 전달됩니다. |
EnabledChange | 위젯의 활성화 상태가 변경된 후 위젯으로 전달됩니다. |
스타일 변경 | 위젯의 스타일이 변경된 후 위젯으로 전달됩니다. |
레이아웃 방향 변경 | 레이아웃 방향이 변경된 후 위젯에 전달됩니다. |
ContentsRectChange | 콘텐츠 여백/콘텐츠 사각형이 변경된 후 위젯에 전달됩니다. |
[override virtual protected]
void QGraphicsWidget::focusInEvent(QFocusEvent *event)
다시 구현합니다: QGraphicsItem::focusInEvent(QFocusEvent * 이벤트).
[virtual protected]
bool QGraphicsWidget::focusNextPrevChild(bool next)
Tab 및 Shift+Tab에 적합한 새 위젯을 찾아서 새 위젯을 찾을 수 있으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. next 가 참이면 이 함수는 앞으로 검색하고 next 가 거짓이면 뒤로 검색합니다.
위젯과 그 하위 위젯에 특별한 포커스 처리를 제공하기 위해 이 함수를 다시 구현하고 싶을 때가 있습니다. 예를 들어, 웹 브라우저에서 현재 활성 링크를 앞뒤로 이동하고 페이지의 마지막 또는 첫 번째 링크에 도달할 때만 기본 구현을 호출하도록 재구현할 수 있습니다.
자식 위젯은 부모 위젯에서 focusNextPrevChild()를 호출하지만, 자식 위젯이 포함된 창에서만 포커스를 리디렉션할 위치를 결정합니다. 객체에 대해 이 함수를 다시 구현하면 모든 자식 위젯에 대한 포커스 이동을 제어할 수 있습니다.
focusPolicy()도 참조하세요 .
[override virtual protected]
void QGraphicsWidget::focusOutEvent(QFocusEvent *event)
다시 구현합니다: QGraphicsItem::focusOutEvent(QFocusEvent * 이벤트).
QGraphicsWidget *QGraphicsWidget::focusWidget() const
이 위젯, 이 위젯의 자식 또는 하위 위젯에 현재 입력 포커스가 있는 경우 이 함수는 해당 위젯에 대한 포인터를 반환합니다. 입력 포커스가 있는 하위 위젯이 없으면 nullptr
가 반환됩니다.
QGraphicsItem::focusItem() 및 QWidget::focusWidget()도 참조하세요 .
[signal]
void QGraphicsWidget::geometryChanged()
이 신호는 setGeometry()에서 지오메트리가 변경될 때마다 발신됩니다.
[override virtual]
void QGraphicsWidget::getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const
재구현합니다: QGraphicsLayoutItem::getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const.
위젯의 컨텐츠 여백을 가져옵니다. 여백은 qreal에 대한 포인터로 left, top, right 및 bottom 에 저장됩니다. 각 인자는 nullptr
를 전달하여 생략할 수 있습니다.
setContentsMargins()도 참조하세요 .
void QGraphicsWidget::getWindowFrameMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const
위젯의 창 프레임 여백을 가져옵니다. 여백은 left, top, right 및 bottom 에 qreals에 대한 포인터로 저장됩니다. 각 인수는 nullptr
를 전달하여 생략할 수 있습니다.
setWindowFrameMargins() 및 windowFrameRect()도 참조하세요 .
[virtual protected]
void QGraphicsWidget::grabKeyboardEvent(QEvent *event)
event 에 대한 이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 QEvent::GrabKeyboard 이벤트에 대한 알림을 수신할 수 있습니다.
grabKeyboard() 및 grabMouse()도 참조하세요 .
[virtual protected]
void QGraphicsWidget::grabMouseEvent(QEvent *event)
event 에 대한 이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 QEvent::GrabMouse 이벤트에 대한 알림을 수신할 수 있습니다.
grabMouse() 및 grabKeyboard()도 참조하세요 .
int QGraphicsWidget::grabShortcut(const QKeySequence &sequence, Qt::ShortcutContext context = Qt::WindowShortcut)
주어진 context 에서 주어진 키 sequence 를 감시하는 Qt의 바로 가기 시스템에 바로 가기를 추가합니다. context 이 Qt::ApplicationShortcut 인 경우 바로 가기는 응용 프로그램 전체에 적용됩니다. 그렇지 않으면 이 위젯, Qt::WidgetShortcut 또는 창 자체, Qt::WindowShortcut 에 로컬로 적용됩니다. 창의 일부가 아닌 위젯(즉, 최상위 위젯과 그 하위 위젯)의 경우 Qt::WindowShortcut 바로 가기가 장면에 적용됩니다.
동일한 키 sequence 가 여러 위젯에 의해 잡힌 경우 sequence 키가 발생하면 비결정적 순서로 해당 키가 적용되는 모든 위젯에 QEvent::Shortcut 이벤트가 전송되지만 '모호한' 플래그가 true로 설정됩니다.
경고: 일반적으로 이 함수를 사용할 필요는 없으며, 대신 필요한 바로가기 키 시퀀스를 사용하여 QAction를 만들거나(동등한 메뉴 옵션과 도구 모음 버튼도 필요한 경우) 키 시퀀스만 필요한 경우 QShortcut를 만드세요. QAction 및 QShortcut 모두 모든 이벤트 필터링을 처리하고 사용자가 키 시퀀스를 트리거할 때 트리거되는 신호를 제공하므로 이 낮은 수준의 함수보다 훨씬 사용하기 쉽습니다.
releaseShortcut(), setShortcutEnabled() 및 QWidget::grabShortcut()도 참조하세요 .
[virtual protected]
void QGraphicsWidget::hideEvent(QHideEvent *event)
Hide 이벤트에 대한 이 이벤트 핸들러는 위젯이 숨겨졌을 때, 예를 들어 위젯이 이전에 표시되었을 때 위젯 또는 그 조상 중 하나에 대해 setVisible(false)이 호출된 후에 전달됩니다.
이 이벤트 핸들러를 다시 구현하여 위젯이 언제 숨겨졌는지 감지할 수 있습니다. event 에서 QEvent::accept() 또는 QEvent::ignore()을 호출해도 효과가 없습니다.
showEvent(), QWidget::hideEvent() 및 ItemVisibleChange 를참조하세요 .
[override virtual protected]
void QGraphicsWidget::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
다시 구현합니다: QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent * 이벤트).
[override virtual protected]
void QGraphicsWidget::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
다시 구현합니다: QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent * 이벤트).
[virtual protected]
void QGraphicsWidget::initStyleOption(QStyleOption *option) const
현재 상태에 따라 이 위젯의 스타일 옵션 객체를 채우고 출력을 option 에 저장합니다. 기본 구현은 option 을 다음 프로퍼티로 채웁니다.
스타일 옵션 속성 | 값 |
---|---|
상태 & QStyle::State_Enabled | QGraphicsItem::isEnabled()에 해당합니다. |
state & QStyle::State_HasFocus | QGraphicsItem::hasFocus()에 해당합니다. |
state & QStyle::State_MouseOver | QGraphicsItem::isUnderMouse()에 해당합니다. |
direction | QGraphicsWidget::layoutDirection()에 해당합니다. |
rect | QGraphicsWidget::rect().toRect()에 대응합니다. |
palette | QGraphicsWidget::palette()에 대응합니다. |
fontMetrics | QFontMetrics(QGraphicsWidget::font())에 해당합니다. |
QGraphicsWidget 의 서브클래스는 기본 구현을 호출한 다음 qstyleoption_cast<>()를 사용하여 option 유형을 테스트하거나 위젯별 옵션을 저장하기 전에 QStyleOption::Type 을 테스트해야 합니다.
예를 들어:
void MyGroupBoxWidget::initStyleOption(QStyleOption *option) const { QGraphicsWidget::initStyleOption(option); if (QStyleOptionGroupBox *box = qstyleoption_cast<QStyleOptionGroupBox *>(option)) { // Add group box specific state. box->flat = isFlat(); ... } }
QStyleOption::initFrom()도 참조하세요 .
void QGraphicsWidget::insertAction(QAction *before, QAction *action)
before 액션 앞에 action 액션을 이 위젯의 액션 목록에 삽입합니다. before 가 nullptr
이거나 before 이 위젯에 유효한 액션이 아닌 경우 해당 액션을 추가합니다.
QGraphicsWidget 에는 각 액션이 하나씩만 있어야 합니다.
removeAction(), addAction(), QMenu, actions() 및 QWidget::insertActions()도 참조하세요 .
void QGraphicsWidget::insertActions(QAction *before, const QList<QAction *> &actions)
before 액션 앞에 actions 액션을 이 위젯의 액션 목록에 삽입합니다. before 가 nullptr
이거나 before 이 위젯에 유효한 액션이 아닌 경우 해당 액션을 추가합니다.
QGraphicsWidget 에는 각 액션이 하나만 있을 수 있습니다.
removeAction(), QMenu, insertAction() 및 QWidget::insertActions()도 참조하세요 .
bool QGraphicsWidget::isActiveWindow() const
이 위젯의 창이 활성 창에 있거나 위젯에 창은 없지만 활성 장면(즉, 현재 포커스가 있는 장면)에 있는 경우 true
을 반환합니다.
활성 창은 현재 입력 포커스가 있는 자식 위젯을 포함하거나 그 자체에 입력 포커스가 있는 창입니다.
QGraphicsScene::activeWindow(), QGraphicsScene::setActiveWindow() 및 isActive()도 참조하세요 .
[override virtual protected]
QVariant QGraphicsWidget::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
재구현합니다: QGraphicsItem::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value).
QGraphicsWidget 는 이 함수의 기본 구현을 사용하여 항목의 상태 변경과 관련된 이벤트를 포착하고 전달합니다. 따라서 서브클래스가 기본 구현을 호출하는 것이 매우 중요합니다.
change 는 변경 유형을 지정하고 value 는 새 값을 지정합니다.
예를 들어, QGraphicsWidget 은 Show 과 Hide 이벤트를 전달하기 위해 ItemVisibleChange 를 사용하고, Move 이벤트를 전달하기 위해 ItemPositionHasChanged 를, 그리고 ParentChange 이벤트를 전달하고 포커스 체인을 관리하기 위해 ItemParentChange 를 모두 사용합니다.
QGraphicsWidget 는 위치 변경을 추적하기 위해 기본적으로 ItemSendsGeometryChanges 플래그를 활성화합니다.
QGraphicsItem::itemChange()도 참조하세요 .
QGraphicsLayout *QGraphicsWidget::layout() const
이 위젯의 레이아웃을 반환하거나, 현재 이 위젯을 관리하는 레이아웃이 없는 경우 nullptr
을 반환합니다.
참고: 속성 레이아웃에 대한 게터 함수입니다.
setLayout()도 참조하세요 .
[virtual protected]
void QGraphicsWidget::moveEvent(QGraphicsSceneMoveEvent *event)
GraphicsSceneMove 이벤트의 경우 이 이벤트 핸들러는 위젯이 이동한 후(예: 로컬 위치가 변경된 경우) 전달됩니다.
이 이벤트는 항목이 로컬로 이동한 경우에만 전달됩니다. setTransform ()를 호출하거나 항목의 상위 항목을 이동해도 항목의 로컬 위치에는 영향을 미치지 않습니다.
이 이벤트 핸들러를 다시 구현하여 위젯이 언제 이동했는지 감지할 수 있습니다. event 에서 QEvent::accept() 또는 QEvent::ignore()을 호출해도 아무런 효과가 없습니다.
ItemPositionChange 및 ItemPositionHasChanged 을참조하세요 .
[override virtual]
void QGraphicsWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
재구현합니다: QGraphicsItem::paint(QPainter *페인터, const Q스타일옵션그래픽아이템 *옵션, Q위젯 *위젯).
[virtual]
void QGraphicsWidget::paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
이 가상 함수는 QGraphicsScene 에서 호출하여 painter, option, widget 을 사용하여 창 프레임을 로컬 좌표로 그립니다. 기본 구현은 현재 스타일을 사용하여 프레임과 제목 표시줄을 렌더링합니다.
QGraphicsWidget 의 서브클래스에서 이 함수를 다시 구현하여 위젯의 창 프레임을 사용자 정의 렌더링할 수 있습니다.
QGraphicsItem::paint()도 참조하세요 .
[virtual protected]
void QGraphicsWidget::polishEvent()
이 이벤트는 아이템이 생성된 후 씬을 통해 표시되거나 액세스되기 전에 씬에 의해 아이템에 전달됩니다. 이 이벤트 핸들러를 사용하여 아이템이 완전히 구성되어야 하는 위젯의 마지막 순간 초기화를 수행할 수 있습니다.
기본 구현은 아무 작업도 수행하지 않습니다.
QRectF QGraphicsWidget::rect() const
항목의 로컬 렉을 QRectF 로 반환합니다. 이 함수는 QRectF(QPointF(), size())와 동일합니다.
setGeometry() 및 resize()도 참조하세요 .
void QGraphicsWidget::releaseShortcut(int id)
Qt의 바로가기 시스템에서 지정된 id 의 바로가기를 제거합니다. 위젯은 더 이상 바로가기의 키 시퀀스에 대한 QEvent::Shortcut 이벤트를 수신하지 않습니다(동일한 키 시퀀스를 가진 다른 바로가기가 없는 경우).
경고: Qt의 바로 가기 시스템은 부모 위젯이 파괴되면 바로 가기를 자동으로 제거하므로 일반적으로 이 기능을 사용할 필요가 없습니다. 이 저수준 함수보다 사용하기 쉽기 때문에 QAction 또는 QShortcut 을 사용하여 바로가기를 처리하는 것이 가장 좋습니다. 이 작업은 비용이 많이 든다는 점도 유의하세요.
grabShortcut(), setShortcutEnabled() 및 QWidget::releaseShortcut()도 참조하세요 .
void QGraphicsWidget::removeAction(QAction *action)
이 위젯의 동작 목록에서 action 동작을 제거합니다.
insertAction(), actions(), insertAction() 및 QWidget::removeAction()도 참조하세요 .
void QGraphicsWidget::resize(qreal w, qreal h)
오버로드된 함수입니다.
주어진 width
(w) 및 height
(h)로 크기 조정을 생성합니다. 이 편의 함수는 resize(QSizeF(w, h))를 호출하는 것과 동일합니다.
참고: size 속성에 대한 세터 함수입니다.
setGeometry() 및 setTransform()도 참조하세요 .
[virtual protected]
void QGraphicsWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
GraphicsSceneResize 이벤트의 경우 이 이벤트 핸들러는 위젯의 크기가 조정된 후(즉, 로컬 크기가 변경된 후) 전달됩니다. event 에는 이전 크기와 새 크기가 모두 포함됩니다.
이 이벤트는 위젯의 크기가 로컬로 조정될 때만 전달되며, 위젯이나 위젯의 상위 또는 보기에서 setTransform()를 호출해도 위젯의 로컬 크기에는 영향을 미치지 않습니다.
이 이벤트 핸들러를 다시 구현하여 위젯의 크기가 조정된 시기를 감지할 수 있습니다. event 에서 QEvent::accept() 또는 QEvent::ignore()을 호출해도 효과가 없습니다.
geometry() 및 setGeometry()도 참조하세요 .
[override virtual protected]
bool QGraphicsWidget::sceneEvent(QEvent *event)
다시 구현합니다: QGraphicsItem::sceneEvent(QEvent * 이벤트).
QGraphicsWidget의 sceneEvent() 구현은 event 를 QGraphicsWidget::event()로 전달하기만 하면 됩니다. 위젯의 모든 이벤트는 event() 또는 편의 함수에서 처리할 수 있으며, QGraphicsWidget 의 서브클래스에서 이 함수를 다시 구현할 필요는 없습니다.
event 을 인식하고 처리한 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
QGraphicsItem::sceneEvent()도 참조하십시오 .
void QGraphicsWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)
on 이 참이면 이 함수는 attribute 을 활성화하고, 그렇지 않으면 attribute 을 비활성화합니다.
지원되는 속성과 그 용도에 대한 전체 목록은 QGraphicsWidget 클래스 설명서를 참조하세요.
testAttribute() 및 QWidget::setAttribute()도 참조하세요 .
void QGraphicsWidget::setContentsMargins(QMarginsF margins)
위젯의 콘텐츠 여백을 margins 로 설정합니다.
콘텐츠 여백은 할당된 레이아웃에서 하위 위젯과 레이아웃의 배치를 정의하는 데 사용됩니다. 여백은 하위 위젯을 자체 지오메트리의 일부분으로만 제한하는 위젯에 특히 유용합니다. 예를 들어 레이아웃이 있는 그룹 상자는 프레임 안에 하위 위젯을 배치하지만 제목 아래에 배치합니다.
위젯의 콘텐츠 여백을 변경하면 항상 update()가 트리거되며 할당된 레이아웃은 자동으로 활성화됩니다. 그러면 위젯은 ContentsRectChange 이벤트를 받습니다.
getContentsMargins() 및 setGeometry()도 참조하세요 .
void QGraphicsWidget::setContentsMargins(qreal left, qreal top, qreal right, qreal bottom)
이 함수는 과부하된 함수입니다.
위젯의 콘텐츠 여백을 left, top, right 및 bottom 로 설정합니다.
void QGraphicsWidget::setGeometry(qreal x, qreal y, qreal w, qreal h)
이 편의 함수는 setGeometry(QRectF( x, y, w, h))를 호출하는 것과 동일합니다.
참고: geometry 속성에 대한 세터 함수.
geometry() 및 resize()도 참조하세요 .
void QGraphicsWidget::setLayout(QGraphicsLayout *layout)
이 위젯의 레이아웃을 layout 로 설정합니다. 새 레이아웃이 할당되기 전에 기존 레이아웃 관리자가 모두 삭제됩니다. layout 가 nullptr
인 경우 위젯은 레이아웃 없이 남겨집니다. 기존 하위 위젯의 지오메트리는 영향을 받지 않습니다.
현재 layout 또는 모든 하위 레이아웃에서 관리되는 모든 위젯은 자동으로 이 항목으로 부모가 변경됩니다. 그러면 레이아웃이 무효화되고 하위 위젯 지오메트리가 이 항목의 geometry() 및 contentsMargins()에 따라 조정됩니다. layout 에서 명시적으로 관리하지 않는 자식은 이 위젯에 할당된 후에도 레이아웃의 영향을 받지 않습니다.
QGraphicsWidget 는 layout 의 소유권을 갖습니다.
참고: layout 속성에 대한 세터 함수.
layout(), QGraphicsLinearLayout::addItem() 및 QGraphicsLayout::invalidate()도 참조하세요 .
void QGraphicsWidget::setShortcutAutoRepeat(int id, bool enabled = true)
enabled 이 참이면 지정된 id 으로 바로 가기 자동 반복이 활성화되고, 그렇지 않으면 비활성화됩니다.
grabShortcut(), releaseShortcut() 및 QWidget::setShortcutAutoRepeat()도 참조하세요 .
void QGraphicsWidget::setShortcutEnabled(int id, bool enabled = true)
enabled 이 참이면 id 이 지정된 바로 가기가 활성화되고, 그렇지 않으면 바로 가기가 비활성화됩니다.
경고: 위젯이 숨겨지거나 표시되고 포커스를 얻거나 잃을 때 Qt의 단축키 시스템이 자동으로 단축키를 활성화/비활성화하므로 일반적으로 이 함수를 사용할 필요가 없습니다. 이 저수준 함수보다 사용하기 쉬운 QAction 또는 QShortcut 을 사용하여 바로가기를 처리하는 것이 가장 좋습니다.
grabShortcut(), releaseShortcut() 및 QWidget::setShortcutEnabled()도 참조하세요 .
void QGraphicsWidget::setStyle(QStyle *style)
위젯의 스타일을 style 로 설정합니다. QGraphicsWidget 은 style 의 소유권을 갖지 않습니다.
스타일이 지정되지 않았거나 style 가 nullptr
인 경우 위젯은 QGraphicsScene::style()를 사용합니다(설정되어 있는 경우). 그렇지 않으면 위젯은 QApplication::style()를 사용합니다.
style 이 nullptr
이 아닌 경우 Qt::WA_SetStyle 속성을 설정하고, 그렇지 않으면 속성을 지웁니다.
style()도 참조하세요 .
[static]
void QGraphicsWidget::setTabOrder(QGraphicsWidget *first, QGraphicsWidget *second)
Tab 키를 누르면 키보드 초점이 first 위젯에서 second 위젯으로 이동하도록 초점 위젯 링 주위로 second 위젯을 이동합니다.
second 위젯의 탭 순서가 변경되었으므로 다음과 같은 순서로 정렬해야 합니다:
setTabOrder(a, b); // a to b setTabOrder(b, c); // a to b to c setTabOrder(c, d); // a to b to c to d
이와 같은 순서가아닙니다:
// WRONG setTabOrder(c, d); // c to d setTabOrder(a, b); // a to b AND c to d setTabOrder(b, c); // a to b to c, but not c to d
first 가 nullptr
인 경우 이는 씬이 탭 포커스를 얻으면(즉, 사용자가 Tab 키를 눌러 포커스가 씬으로 넘어가면) second 이 입력 포커스를 받는 첫 번째 위젯이 되어야 함을 나타냅니다. second 가 nullptr
인 경우 이는 씬이 백탭 포커스를 얻은 경우 first 이 포커스를 가장 먼저 받아야 하는 위젯이 되어야 함을 나타냅니다.
기본적으로 탭 순서는 위젯 생성 순서를 사용하여 암시적으로 정의됩니다.
focusPolicy 및 위젯의 키보드 포커스도참조하세요 .
void QGraphicsWidget::setWindowFrameMargins(QMarginsF margins)
위젯의 창 프레임 여백을 margins 으로 설정합니다. 기본 프레임 여백은 스타일에 의해 제공되며 현재 창 플래그에 따라 달라집니다.
나만의 창 장식을 그리려면 프레임 여백을 설정하여 기본 여백을 재정의할 수 있습니다.
unsetWindowFrameMargins(), getWindowFrameMargins() 및 windowFrameRect()도 참조하세요 .
void QGraphicsWidget::setWindowFrameMargins(qreal left, qreal top, qreal right, qreal bottom)
이 함수는 과부하된 함수입니다.
위젯의 창 프레임 여백을 left, top, right 및 bottom 으로 설정합니다.
[override virtual]
QPainterPath QGraphicsWidget::shape() const
재구현합니다: QGraphicsItem::shape() const.
[virtual protected]
void QGraphicsWidget::showEvent(QShowEvent *event)
Show 이벤트에 대한 이 이벤트 핸들러는 위젯이 표시되기 전에 전달됩니다(예: 위젯이 이전에 숨겨져 있을 때 위젯 또는 그 조상 중 하나에 대해 setVisible(true)이 호출된 경우).
이 이벤트 핸들러를 다시 구현하여 위젯이 언제 표시되는지 감지할 수 있습니다. event 에서 QEvent::accept() 또는 QEvent::ignore()을 호출해도 효과가 없습니다.
hideEvent(), QWidget::showEvent() 및 ItemVisibleChange 를참조하세요 .
[override virtual protected]
QSizeF QGraphicsWidget::sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const
재구현합니다: QGraphicsLayoutItem::sizeHint(Qt::SizeHint 어느, const QSizeF &constraint) const.
QStyle *QGraphicsWidget::style() const
위젯의 스타일에 대한 포인터를 반환합니다. 이 위젯에 명시적으로 할당된 스타일이 없는 경우 장면의 스타일이 대신 반환됩니다. 반대로 장면에 할당된 스타일이 없는 경우 이 함수는 QApplication::style()를 반환합니다.
setStyle()도 참조하세요 .
bool QGraphicsWidget::testAttribute(Qt::WidgetAttribute attribute) const
이 위젯에 attribute 이 활성화된 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
setAttribute()도 참조하세요 .
[override virtual]
int QGraphicsWidget::type() const
재구현합니다: QGraphicsItem::type() const.
[virtual protected]
void QGraphicsWidget::ungrabKeyboardEvent(QEvent *event)
event 에 대한 이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 QEvent::UngrabKeyboard 이벤트에 대한 알림을 수신할 수 있습니다.
ungrabKeyboard() 및 ungrabMouse()도 참조하세요 .
[virtual protected]
void QGraphicsWidget::ungrabMouseEvent(QEvent *event)
event 에 대한 이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 QEvent::UngrabMouse 이벤트에 대한 알림을 수신할 수 있습니다.
ungrabMouse() 및 ungrabKeyboard()도 참조하세요 .
void QGraphicsWidget::unsetWindowFrameMargins()
창 프레임 여백을 스타일에서 제공하는 기본값으로 재설정합니다.
setWindowFrameMargins(), getWindowFrameMargins() 및 windowFrameRect()도 참조하세요 .
[override virtual protected]
void QGraphicsWidget::updateGeometry()
다시 구현합니다: QGraphicsLayoutItem::updateGeometry().
이 위젯이 현재 레이아웃에 의해 관리되는 경우 이 함수는 위젯의 크기 힌트가 변경되었음을 레이아웃에 알리고 레이아웃이 그에 따라 위젯의 크기를 조정하고 위치를 변경해야 할 수 있음을 알립니다.
위젯의 sizeHint()가 변경된 경우 이 함수를 호출하세요.
QGraphicsLayout::invalidate()도 참조하세요 .
[virtual protected]
bool QGraphicsWidget::windowFrameEvent(QEvent *event)
event 에 대한 이 이벤트 핸들러는 이 위젯이 창인 경우 창 프레임에 대한 이벤트를 수신합니다. 기본 구현은 이동, 크기 조정 등과 같은 기본 창 프레임 상호 작용을 지원합니다.
QGraphicsWidget 의 서브클래스에서 이 핸들러를 다시 구현하여 사용자 정의 창 프레임 상호작용 지원을 제공할 수 있습니다.
event 이 인식되어 처리된 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
event()도 참조하세요 .
QRectF QGraphicsWidget::windowFrameGeometry() const
창 프레임을 포함한 부모 좌표로 위젯의 지오메트리를 반환합니다.
windowFrameRect(), getWindowFrameMargins() 및 setWindowFrameMargins()도 참조하세요 .
QRectF QGraphicsWidget::windowFrameRect() const
모든 창 프레임을 포함한 위젯의 로컬 렉트를 반환합니다.
windowFrameGeometry(), getWindowFrameMargins(), setWindowFrameMargins()도 참조하세요 .
[virtual protected]
Qt::WindowFrameSection QGraphicsWidget::windowFrameSectionAt(const QPointF &pos) const
pos 위치에 있는 창틀 섹션을 반환하거나 이 위치에 창틀 섹션이 없는 경우 Qt::NoSection 을 반환합니다.
이 함수는 QGraphicsWidget 의 창 프레임 상호작용을 위한 기본 구현에서 사용됩니다.
창을 대화형으로 이동하거나 크기를 조정하는 방법을 사용자 지정하려는 경우 이 함수를 다시 구현할 수 있습니다. 예를 들어 오른쪽 하단 모서리만 창 크기를 조정할 수 있도록 하려는 경우 이 함수를 다시 구현하여 Qt::BottomRightSection 을 제외한 모든 섹션에 대해 Qt::NoSection 을 반환할 수 있습니다.
windowFrameEvent(), paintWindowFrame() 및 windowFrameGeometry()도 참조하세요 .
Qt::WindowType QGraphicsWidget::windowType() const
위젯 창 유형을 반환합니다.
windowFlags(), isWindow() 및 isPanel()도 참조하세요 .
© 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.