변경 사항 Qt Widgets
Qt 6의 변경 사항은 프레임워크를 더 효율적이고 사용하기 쉽게 만들기 위한 의도적인 노력의 결과입니다.
저희는 각 릴리스에서 모든 공개 API에 대해 바이너리 및 소스 호환성을 유지하기 위해 노력하고 있습니다. 하지만 Qt를 더 나은 프레임워크로 만들기 위한 과정에서 일부 변경 사항은 불가피했습니다.
이 주제에서는 Qt Widgets 의 변경 사항을 요약하고, 이를 처리하기 위한 지침을 제공합니다.
커널 클래스
QWidget 클래스
가상 QWidget::enterEvent() 핸들러는 이제 단순한 QEvent* 대신 포인터 위치에 대한 정보가 포함된 QEnterEvent* 매개변수를 받게 됩니다.
QDesktopWidget 및 QApplication::desktop()
QDesktopWidget은 Qt 5에서 이미 사용 중단되었으며, QApplication::desktop()과 함께 Qt 6에서 제거되었습니다.
QScreen 사용 가능한 화면, 가상 데스크톱을 구성하는 화면 및 화면 기하학적 정보에 대한 쿼리 기능을 제공합니다.
QWidget::setScreen()을 사용하여 특정 디스플레이에 QWidget 를 생성하십시오. 이 함수는 가상 데스크톱 설정에서 위젯을 화면으로 이동시키지 않는다는 점에 유의하십시오.
QAction, QActionGroup
이 클래스들은 QtGui 모듈로 이동되었습니다. QtWidgets 에 정의된 유형에 의존하는 멤버 함수(예: QAction::menu() 및 QAction::setMenu()))는 호출될 때만 인스턴스화되는 템플릿으로 구현됩니다.
위젯
QAbstractButton 클래스
QAbstractButton::animateClick()의 기본 타임아웃 매개변수가 제거되어, qOverload 를 사용하지 않고도 최신 연결 구문을 사용할 수 있게 되었습니다.
QComboBox 클래스
QComboBox::setModel() 함수는 이제 가상 함수입니다.
QDateTimeEdit 클래스
QDateTimeEdit::setDateTime()가 QDateTimeEdit 인스턴스의 시간 사양과 일치하지 않는 날짜-시간으로 호출될 경우, 해당 날짜-시간은 QDateTimeEdit 의 시간 사양으로 변환됩니다. 이를 통해 동일한 순간을 나타내는 날짜-시간이 생성되지만, QDateTimeEdit 가 사용하는 방식과 동일한 용어로 표현됩니다. 이전에는 전달된 날짜 및 시간의 값이 위젯의 시간 표기법과 결합되어, 날짜 및 시간 자체의 시간 표기법은 무시되었습니다. 이로 인해 전달된 날짜 및 시간이 나타내는 시점과는 다른 시점을 나타낼 수도 있었습니다.
ItemViews
QAbstractItemView 클래스
이전에 ` QStyleOptionViewItem ` 객체를 반환하던 가상 메서드 `viewOptions()`는 `initViewItemOption`으로 이름이 변경되었으며, 포인터를 통해 전달된 ` QStyleOptionViewItem ` 객체를 초기화합니다.
스타일링 클래스 및 관련 API
버전 정보가 지정된 모든 QStyleOption 하위 클래스가 통합되었으며, 버전 번호는 1로 재설정되었습니다.
위젯 클래스의 다양한 initStyleOption() 메서드는 이제 가상 메서드가 되었습니다.
스타일 시트 변경 사항
Qt 5와 Qt 6에서 속성을 사용하여 위젯의 스타일을 지정하는 방식은 다르며, 특히 해당 속성이 열거형(enum)인 경우 더욱 그렇습니다. Qt 5에서는 이러한 속성의 선택자 값이 열거형 값에 해당하는 정수인 반면, Qt 6에서는 문자열 값이 사용됩니다. 다음 예제는 이러한 차이점을 보여줍니다:
// Qt 5 style sheet
QToolButton[popupMode="1"] {
padding-right: 20px;
}// Qt 6 style sheet
QToolButton[popupMode=MenuButtonPopup] {
padding-right: 20px;
}유틸리티 클래스
QUndoCommand, QUndoStack 및 QUndoGroup
Undo/Redo 프레임워크의 위젯 독립 클래스들이 QtGui 모듈로 이동되었습니다.
© 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.