이 페이지에서

DialogButtonBox QML Type

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

Import Statement: import QtQuick.Controls
Inherits:

Container

속성

연관 속성

신호

방법

상세 설명

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

대화의 대부분의 버튼은 특정 역할을 따릅니다. 이러한 역할에는 다음이 포함됩니다:

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

또한 대화 상자를 닫는 다른 방법이 있을 수 있으며, 이는 치명적인 결과를 초래할 수도 있습니다.

대부분의 대화 상자에는 거의 표준으로 간주될 수 있는 버튼들(예: OK 및 Cancel 버튼)이 있습니다. 이러한 버튼들을 표준 방식으로 생성하는 것이 때로는 편리합니다.

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

이 속성은 버튼의 정렬 방식을 지정합니다.

사용 가능한 값:

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

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

참고: 이 속성은 버튼이 가로로 배열된 것을 전제로 합니다. iOS 스타일을 실행할 때, 이 속성이 ` undefined ` 이외의 값으로 설정되어 있고 버튼이 두 개 이상인 경우, ` DialogButtonBox `는 세로 배치를 사용합니다. 그 외의 모든 경우에는 버튼이 가로로 배열됩니다.

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

이 속성은 버튼 상자에 포함된 버튼들을 배열할 때 사용될 버튼 레이아웃 정책을 지정합니다. 기본값은 플랫폼에 따라 다릅니다.

사용 가능한 값:

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

이 속성은 QtQuick.Controls 2.5(Qt 5.12)에서 도입되었습니다.

defaultButton : AbstractButton [since 6.11]

이 속성은 기본 버튼을 지정합니다.

기본 버튼은 ' highlighted '가 되며 포커스를 받게 됩니다.

버튼 상자 내의 버튼 중 하나만 기본 버튼으로 지정할 수 있습니다. 이 속성은 defaultStandardButton 속성과 함께 사용할 수 없습니다.

이 속성은 Qt 6.11에서 도입되었습니다.

standardButtons 및 defaultStandardButton도 참조하십시오 .

defaultStandardButton : enumeration [since 6.11]

이 속성은 기본 표준 버튼을 지정합니다.

기본 표준 버튼은 ' highlighted '가 되며, 포커스를 받게 됩니다.

버튼 박스 내에서는 단 하나의 버튼만 기본값으로 설정할 수 있습니다. 이 속성은 ` defaultButton ` 속성과 함께 사용할 수 없습니다.

이 속성은 Qt 6.11에서 도입되었습니다.

standardButtons 및 defaultButton도 참조하십시오 .

delegate : Component

이 속성은 표준 버튼을 생성하기 위한 델리게이트를 보유합니다.

DialogButtonBox 이 속성은 델리게이트의 소유권을 인수하지 않습니다.

standardButtons도 참조하십시오 .

position : enumeration

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

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

사용 가능한 값:

상수설명
DialogButtonBox.Header버튼 상자가 창 또는 페이지의 헤더로 상단에 위치합니다.
DialogButtonBox.Footer버튼 상자가 하단에 위치하며, 창 또는 페이지의 바닥글 역할을 합니다.

기본값은 Footer 입니다.

Dialog::header 및 Dialog::footer도 참조하십시오 .

standardButtons : enumeration

이 속성은 버튼 상자에서 사용되는 표준 버튼들의 조합을 포함합니다.

DialogButtonBox {
    standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel

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

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

사용 가능한 플래그:

상수설명
DialogButtonBox.OkAcceptRole 로 정의된 "OK" 버튼입니다.
DialogButtonBox.OpenAcceptRole 로 정의된 "열기" 버튼.
DialogButtonBox.SaveAcceptRole 로 정의된 "Save" 버튼.
DialogButtonBox.CancelRejectRole 로 정의된 "Cancel" 버튼.
DialogButtonBox.CloseRejectRole 로 정의된 "닫기" 버튼.
DialogButtonBox.Discard플랫폼에 따라 "취소" 또는 "저장하지 않음" 버튼으로, DestructiveRole 로 정의됩니다.
DialogButtonBox.ApplyApplyRole 로 정의된 “Apply” 버튼.
DialogButtonBox.ResetResetRole 로 정의된 "Reset" 버튼.
DialogButtonBox.RestoreDefaultsResetRole 로 정의된 "기본값 복원" 버튼.
DialogButtonBox.HelpHelpRole 로 정의된 "도움말" 버튼.
DialogButtonBox.SaveAllAcceptRole 로 정의된 "모두 저장" 버튼.
DialogButtonBox.YesYesRole 로 정의된 "예" 버튼.
DialogButtonBox.YesToAllYesRole 로 정의된 "모두 예" 버튼.
DialogButtonBox.NoNoRole 로 정의된 "아니요" 버튼.
DialogButtonBox.NoToAllNoRole 로 정의된 "모두 아니오" 버튼.
DialogButtonBox.AbortRejectRole 으로 정의된 “중단” 버튼.
DialogButtonBox.RetryAcceptRole 로 정의된 "다시 시도" 버튼.
DialogButtonBox.IgnoreAcceptRole 로 정의된 "Ignore" 버튼.
DialogButtonBox.NoButton유효하지 않은 버튼입니다.

standardButton()도 참조하십시오 .

부속 속성 문서

DialogButtonBox.buttonBox : DialogButtonBox [read-only attached]

이 첨부 속성은 해당 버튼을 관리하는 버튼 박스를 참조하며, 버튼이 버튼 박스에 포함되어 있지 않은 경우에는 null 를 참조합니다.

DialogButtonBox.buttonRole : enumeration [attached]

이 첨부 속성은 버튼 상자 내 각 버튼의 역할을 나타냅니다.

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이 버튼을 누르면 현재 변경 사항이 적용됩니다.

Signal 문서

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도 참조하십시오 .

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