DialogButtonBox QML Type

대화 상자에서 사용되는 버튼 상자입니다. 더 보기...

Import Statement: import QtQuick.Controls
Inherits:

Container

속성

첨부 속성

신호

방법

자세한 설명

대화 상자와 메시지 상자는 일반적으로 해당 플랫폼의 인터페이스 가이드라인에 따라 버튼이 순서대로 표시됩니다. 플랫폼마다 대화 상자 버튼의 순서가 다를 수 있습니다. DialogButtonBox를 사용하면 개발자가 버튼을 추가할 수 있으며 사용자의 플랫폼에 적합한 순서를 자동으로 사용합니다.

대화 상자의 대부분의 버튼은 특정 역할을 따릅니다. 이러한 역할은 다음과 같습니다:

  • 대화 상자를 수락하거나 거부합니다.
  • 도움 요청.
  • 대화 상자 자체에서 작업 수행(예: 필드 재설정 또는 변경 사항 적용).

파괴적인 결과를 초래할 수 있는 대화 상자를 종료하는 다른 방법도 있을 수 있습니다.

대부분의 대화 상자에는 거의 표준으로 간주할 수 있는 버튼이 있습니다(예: OKCancel 버튼). 이러한 버튼을 표준 방식으로 만드는 것이 편리할 때도 있습니다.

DialogButtonBox를 사용하는 방법에는 몇 가지가 있습니다. 한 가지 방법은 표준 버튼(예: OK, Cancel, Save)을 지정하고 버튼 상자에서 버튼을 설정하도록 하는 것입니다.

DialogButtonBox {
    standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel

    onAccepted: console.log("Ok clicked")
    onRejected: console.log("Cancel clicked")
}

또는 버튼과 그 역할을 직접 지정할 수도 있습니다:

DialogButtonBox {
    Button {
        text: qsTr("Save")
        DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
    }
    Button {
        text: qsTr("Close")
        DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
    }
}

일반 버튼과 표준 버튼을 혼합하여 사용할 수도 있습니다.

버튼 상자에서 버튼을 클릭하면 실제 눌린 버튼에 대해 clicked() 신호가 전송됩니다. 또한 해당 역할이 있는 버튼이 눌리면 다음 신호가 자동으로 발생합니다:

역할신호
AcceptRole, YesRoleaccepted()
ApplyRoleapplied()
DiscardRolediscarded()
HelpRolehelpRequested()
RejectRole, NoRolerejected()
ResetRolereset()

Dialog참조하세요 .

속성 문서

alignment : flags

이 프로퍼티는 버튼의 정렬을 유지합니다.

가능한 값은 다음과 같습니다:

Constant설명
Qt.AlignLeft버튼이 왼쪽으로 정렬됩니다.
Qt.AlignHCenter버튼이 가로 중앙에 정렬됩니다.
Qt.AlignRight버튼이 오른쪽에 정렬됩니다.
Qt.AlignTop버튼이 위쪽에 정렬됩니다.
Qt.AlignVCenter버튼이 세로 중앙에 정렬됩니다.
Qt.AlignBottom버튼이 하단에 정렬됩니다.

기본적으로 특정 정렬은 설정되어 있지 않으며 정렬 속성을 읽으면 0과 비교되는 기본 플래그 값이 반환됩니다. undefined 을 할당하여 속성을 이 값으로 재설정할 수 있습니다. 이 경우 버튼의 크기가 사용 가능한 공간을 채우도록 조정됩니다.

참고: 이 속성은 버튼의 가로 레이아웃을 가정합니다. iOS 스타일을 실행할 때 이 속성이 undefined 이외의 다른 값으로 설정되어 있고 버튼이 두 개 이상인 경우 DialogButtonBox 세로 레이아웃을 사용합니다. 다른 모든 경우에는 버튼이 가로로 정렬됩니다.


buttonLayout : enumeration [since QtQuick.Controls 2.5 (Qt 5.12)]

이 속성은 버튼 상자에 포함된 버튼을 정렬할 때 사용할 버튼 레이아웃 정책을 보유합니다. 기본값은 플랫폼별로 다릅니다.

사용 가능한 값

Constant설명
DialogButtonBox.WinLayoutWindows의 애플리케이션에 적합한 정책을 사용합니다.
DialogButtonBox.MacLayoutmacOS의 애플리케이션에 적합한 정책을 사용합니다.
DialogButtonBox.KdeLayoutKDE의 애플리케이션에 적합한 정책을 사용합니다.
DialogButtonBox.GnomeLayoutGNOME의 애플리케이션에 적합한 정책을 사용합니다.
DialogButtonBox.AndroidLayoutAndroid의 애플리케이션에 적합한 정책을 사용합니다.

이 프로퍼티는 QtQuick.Controls 2.5(Qt 5.12)에 도입되었습니다.


delegate : Component

이 프로퍼티는 표준 버튼 생성을 위한 델리게이트를 보유합니다.

standardButtons참조하십시오 .


position : enumeration

이 속성은 버튼 상자의 위치를 보유합니다.

참고: 버튼 상자가 ApplicationWindow 또는 페이지의 머리글 또는 바닥글로 할당된 경우 적절한 위치가 자동으로 설정됩니다.

사용 가능한 값

상수설명
DialogButtonBox.Header버튼 상자가 창 또는 페이지 헤더로 상단에 있습니다.
DialogButtonBox.Footer버튼 상자는 창 또는 페이지 바닥글의 맨 아래에 있습니다.

기본값은 Footer 입니다.

Dialog::headerDialog::footer참조하세요 .


standardButtons : enumeration

이 속성에는 버튼 상자에서 사용하는 표준 버튼의 조합이 들어 있습니다.

DialogButtonBox {
    standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel

    onAccepted: console.log("Ok clicked")
    onRejected: console.log("Cancel clicked")
}

버튼은 사용자의 플랫폼에 적합한 순서로 배치됩니다.

사용 가능한 플래그

Constant설명
DialogButtonBox.OkAcceptRole 로 정의된 "확인" 버튼입니다.
DialogButtonBox.OpenAcceptRole 로 정의된 "열기" 버튼.
DialogButtonBox.Save와 함께 정의된 "저장" 버튼 AcceptRole.
DialogButtonBox.Cancel를 사용하여 정의된 "취소" 버튼 RejectRole.
DialogButtonBox.CloseRejectRole 로 정의된 "닫기" 버튼.
DialogButtonBox.Discard플랫폼에 따라 DestructiveRole 로 정의된 "삭제" 또는 "저장 안 함" 버튼.
DialogButtonBox.ApplyApplyRole 로 정의된 "적용" 버튼.
DialogButtonBox.ResetResetRole 로 정의된 "재설정" 버튼.
DialogButtonBox.RestoreDefaultsResetRole 로 정의된 "기본값 복원" 버튼.
DialogButtonBox.HelpHelpRole 로 정의된 "도움말" 버튼.
DialogButtonBox.SaveAllAcceptRole 로 정의된 "모두 저장" 버튼.
DialogButtonBox.YesYesRole 로 정의된 "예" 버튼.
DialogButtonBox.YesToAll와 함께 정의된 "예, 모두" 버튼 YesRole.
DialogButtonBox.No와 함께 정의된 "아니요" 버튼 NoRole.
DialogButtonBox.NoToAll와 함께 정의된 "아니요 - 모두" 버튼 NoRole.
DialogButtonBox.Abort와 함께 정의된 "중단" 버튼 RejectRole.
DialogButtonBox.RetryAcceptRole 로 정의된 "재시도" 버튼.
DialogButtonBox.Ignore와 함께 정의된 "무시" 버튼 AcceptRole.
DialogButtonBox.NoButton유효하지 않은 버튼입니다.

standardButton()도 참조하세요 .


첨부된 속성 문서

DialogButtonBox.buttonBox : DialogButtonBox [read-only]

이 첨부 속성은 이 버튼을 관리하는 버튼 상자(버튼이 버튼 상자에 없는 경우 null )를 보유합니다.


DialogButtonBox.buttonRole : enumeration

이 첨부 속성은 버튼 상자에서 각 버튼의 역할을 보유합니다.

DialogButtonBox {
    Button {
        text: qsTr("Save")
        DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
    }
    Button {
        text: qsTr("Close")
        DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
    }
}

사용 가능한 값은 다음과 같습니다:

상수설명
DialogButtonBox.InvalidRole버튼이 유효하지 않습니다.
DialogButtonBox.AcceptRole버튼을 클릭하면 대화 상자가 수락됩니다(예: OK).
DialogButtonBox.RejectRole버튼을 클릭하면 대화 상자가 거부됩니다(예: Cancel).
DialogButtonBox.DestructiveRole버튼을 클릭하면 파괴적인 변경(예: 변경 내용 삭제)이 발생하고 대화 상자가 닫힙니다.
DialogButtonBox.ActionRole버튼을 클릭하면 대화 상자 내의 요소가 변경됩니다.
DialogButtonBox.HelpRole버튼을 클릭하여 도움을 요청할 수 있습니다.
DialogButtonBox.YesRole버튼은 "예"와 같은 버튼입니다.
DialogButtonBox.NoRole버튼은 "아니요"와 같은 버튼입니다.
DialogButtonBox.ResetRole이 버튼은 대화 상자의 필드를 기본값으로 재설정합니다.
DialogButtonBox.ApplyRole이 버튼은 현재 변경 사항을 적용합니다.

신호 문서

accepted()

이 신호는 AcceptRole 또는 YesRole 로 정의된 버튼을 클릭하면 발생합니다.

참고: 해당 핸들러는 onAccepted 입니다.

rejected(), clicked() 및 helpRequested()도 참조하세요 .


[since QtQuick.Controls 2.3 (Qt 5.10)] applied()

이 신호는 ApplyRole 로 정의된 버튼이 클릭될 때 발생합니다.

참고: 해당 핸들러는 onApplied 입니다.

이 신호는 QtQuick.Controls 2.3(Qt 5.10)에 도입되었습니다.

discarded() 및 reset()도 참조하십시오 .


clicked(AbstractButton button)

이 신호는 버튼 상자 안에 있는 button 을 클릭하면 발생합니다.

참고: 해당 핸들러는 onClicked 입니다.

accepted(), rejected() 및 helpRequested()도 참조하세요 .


[since QtQuick.Controls 2.3 (Qt 5.10)] discarded()

이 신호는 DiscardRole 로 정의된 버튼이 클릭될 때 발생합니다.

참고: 해당 핸들러는 onDiscarded 입니다.

이 신호는 QtQuick.Controls 2.3(Qt 5.10)에 도입되었습니다.

reset() 및 applied()도 참조하십시오 .


helpRequested()

이 신호는 HelpRole 로 정의된 버튼이 클릭될 때 발생합니다.

참고: 해당 핸들러는 onHelpRequested 입니다.

accepted(), rejected() 및 clicked()도 참조하세요 .


rejected()

RejectRole 또는 NoRole 으로 정의된 버튼이 클릭될 때 이 신호가 발생합니다.

참고: 해당 핸들러는 onRejected 입니다.

accepted(), helpRequested() 및 clicked()도 참조 하세요.


[since QtQuick.Controls 2.3 (Qt 5.10)] reset()

이 신호는 ResetRole 로 정의된 버튼이 클릭될 때 발생합니다.

참고: 해당 핸들러는 onReset 입니다.

이 신호는 QtQuick.Controls 2.3(Qt 5.10)에 도입되었습니다.

discarded() 및 applied()도 참조하십시오 .


메서드 문서

AbstractButton standardButton(StandardButton button)

지정된 표준 button, 또는 존재하지 않는 경우 null 을 반환합니다.

standardButtons도 참조하십시오 .


© 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.