QT 위젯 오버레이
-
06-07-2019 - |
문제
QT에서 위젯을 오버레이하려면 어떻게해야합니까?
위젯을 만들어 층을 제외하고는 다른 위젯의 지오메트리가 변경 될 때 크기와 위치를 조정하고 싶습니다.
스크린 샷의 버튼과 같은 것 :
해결책
qpushbutton (또는 qwidget)을 만들고 부모 QWIDGET을 표시 한 다음 표시하면됩니다.
부모 레이아웃에 추가하지 마십시오. 그렇지 않으면 원하는대로 움직일 수 없습니다.
부모를 다른 부모를 표시하는 것을 잊지 마십시오. 독립 QWIDGET으로 표시됩니다.
이러한 조건에서 QPushButton은 QWIDGET의 자녀로 간주되지만 부모의 레이아웃 구성원은 아닙니다. 따라서 "플로팅"아이가 될 것이며 부모의 QWIDGET을 크기를 조정할 때 행동을 관리해야합니다.
모든 오버레이 버튼에 대한 통합 동작을 원한다면 서브 클래스 QLayout
그리고 회원 바하비 우어를 재정의합니다.
다른 팁
그들이 레이아웃이없는 위젯의 자녀가 있다면, 당신은 당신이 원하는대로 움직일 수 있어야한다고 생각합니다.
내가 작업중 인 프로젝트를 위해 이와 같은 위젯이 필요했기 때문에 Patrice 조언을 받아이 코드를 썼습니다 (Python). PYQT4 위젯 오버레이
제휴하지 않습니다 StackOverflow