문제

나는 하나를 넣고 싶다 Canvas 내 창에 이미지가 있는 경우 위젯이 그 위에 배치되므로 캔버스가 배경 역할을 합니다.

두 가지 상태를 가질 수 있습니까? pack 관리자:하나는 위젯 세트용이고 다른 하나는 다른 세트용인가요?

도움이 되었습니까?

해결책

귀하의 특정 질문에 대한 대답은 '아니요'입니다.두 가지 상태를 가질 수 없으며 동일한 부모에서 두 가지 다른 방식으로 팩을 사용할 수 없습니다.

하지만 당신이 이루고 싶은 것은 간단하다고 생각합니다.캔버스에 내장된 기능을 사용하여 캔버스의 일부인 이미지 항목을 만든 다음 마치 프레임인 것처럼 캔버스에 항목을 담습니다.

이미지가 포함된 라벨 위젯을 생성한 다음 다른 위젯을 라벨에 포함시켜 유사한 작업을 수행할 수 있습니다.

캔버스를 사용하면 쉽게 이미지를 타일링하여 전체 캔버스를 반복되는 배경 이미지로 채울 수 있으므로 창이 커지면 이미지가 계속해서 창을 채울 수 있다는 것입니다(물론 충분히 큰 원본 이미지를 사용할 수도 있습니다.) .)

다른 팁

나는 Bryan의 대답이 아마도 가장 좋은 일반적인 해결책이라고 믿습니다.그러나 다음을 살펴보는 것이 좋습니다. 장소 기하학 관리자.그만큼 장소 기하학 관리자를 사용하면 위젯의 정확한 크기와 위치를 지정할 수 있습니다.빨리 지루해질 수 있지만 작업은 완료됩니다.

...라벨과 더 많은 캔버스를 추가하고 싶었지만 배경을 투명하게 만드는 방법을 찾을 수 없어서 작동하지 않는 것으로 나타났습니다.

추가 확장을 로드할 수 있는 경우 다음을 살펴보세요. 트크징크.웹사이트에서,

Tkzinc(역사적으로 Zinc라고 함) 위젯은 둘 다 구조화된 그래픽을 지원한다는 점에서 Tk Canvas와 매우 유사합니다.Canvas와 마찬가지로 Tkzinc는 그래픽 엔터티를 표시하는 데 사용되는 항목을 구현합니다.이러한 항목은 조작될 수 있으며 바인딩을 해당 항목과 연결하여 상호 작용 동작을 구현할 수 있습니다.그러나 Canvas와 달리 Tkzinc는 항목을 계층 구조로 구성할 수 있고 크기 조정 및 회전을 지원하며 항목 계층 구조의 하위 트리에 대해 클리핑을 설정할 수 있으며 다중 윤곽 곡선을 지원합니다.또한 OpenGL을 사용하여 색상 그라데이션, 앤티앨리어싱, 투명도 및 삼각형 항목과 같은 고급 렌더링을 제공합니다.

나는 현재 tcl 프로젝트에서 그것을 사용하고 있으며 결과에 매우 만족합니다.tcl, perl 및 python에 대한 확장을 사용할 수 있습니다.

위젯 트리를 안팎으로 바꾸지 않고는 불가능합니다. Tk로는 깔끔하게 처리할 수 없을 것 같습니다.다른 툴킷은 이 작업을 좀 더 우아하게 수행할 수 있습니다.

  • COM/VB/MFC는 ActiveX 컨트롤을 사용하여 이 작업을 수행할 수 있습니다. 동일한 영역에서 여러 ActiveX 컨트롤을 숨기거나 표시할 수 있습니다.어떤 컨테이너든 자식을 바꿔서 이 작업을 수행할 수 있습니다.Windows 관련 프로그램을 수행하는 경우 이 방법으로 수행할 수 있습니다.
  • QT에서도 비슷한 방식으로 이 작업을 수행할 수 있습니다.
  • GTK는 약간 더 어렵습니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top