2010-06-02 5 views
3

나는 GUI를 만드는 데별로 크지 않습니다. 일반적으로 내 철학은 다음과 같습니다. 나는 그것을 만들지 않거나 가능한 한 간단하게 만듭니다 (유용성을 위해 더 좋다고 스스로 확신합니다.)qt의 크롬과 같은 상태 표시 줄

저는 현재 프로젝트에서 Python (PyQt)의 Qt를 사용하고 있으며 인터페이스를 어지럽히 지 않고 GUI 요소를 추가하기를 원합니다.

제 아이디어는 필요한 경우에만 나타나는 부동 모양의 위젯의 일종으로 이러한 요소를 만드는 것입니다. 크롬의 상태 표시 줄 (및 바 찾기)과 거의 비슷합니다.

이런 종류의 인터페이스를 만들 수있는 표준 API가 있습니까?

+0

rekonq 브라우저 (http://rekonq.sourceforge.net/)를 살펴보십시오. 크롬과 동일한 종류의 상태 표시 줄이 있으며 Qt를 사용하여 작성됩니다. – Job

+0

그건 내가 어쨌든 할 수있는 해킹처럼 보입니다. 내가 원하는 것은 견고한 API (일종의 !!) 일종의 것입니다. – hasen

답변

5

이것은 그리 복잡하지 않습니다. Chrome에서 상태 표시 줄과 같은 것을 원하면 창 하단에 QFrame이 있어야하고 필요할 때 표시하거나 숨길 수 있습니다.

여기에는 2 가지 옵션이 있습니다. 추가는 모든 항목이 표시 될 때 위로 이동하도록 창 레이아웃의 일부로 추가됩니다. 또는 떠 다니는 경우 가질 수 있으므로 항목 상단에 표시됩니다. 두 번째 옵션을 사용하려면 창을 부모로 사용하여 QFrame을 만든 다음 resizeEvent 창에서 프레임의 기하 도형을 설정해야합니다.

번째 방법의 일례이다.

공극 MyWindow :: resizeEvent (QResizeEvent * 이벤트) frame.setGeometry {(0, this-> 높이() - frame.sizeHint() 높이(), this-> width(), frame.sizeHint(). height()); }

도움이되기를 바랍니다.

+0

그래, 고마워! 나는 그것을 시도 할 것이다 – hasen

+1

당신은 환영합니다 :). 더 시원하게하고 싶다면 애니메이션을 추가 할 수 있습니다. 따라서 막대가 나타날 때 막대가 자랍니다. 쇼 이벤트에서 막대가 커지도록 한 슬롯에 연결된 슬롯에 대해 QTimeLine을 사용할 수 있습니다. (애니메이션을위한 특별한 Qt 클래스가 있다고 생각하지만 결코 시도하지 않았습니다.) – cnebrera

+0

이 부동 상태 표시 줄의 표준 상태 팁 (툴바 버튼, 메뉴 등)을 지원하려면 어떻게해야합니까? –