2012-04-25 5 views
1

MacOS 10.6에서 QSlider의 기본 핸들은 볼입니다. QSlider에 틱이 있으면 핸들의 모양이 변경되어 (한쪽 화살표 모양),이 종류가 필요합니다. 핸들의,하지만 나는 진드기를 좋아하지 않아 Qt를 제공합니다. 그래서, 그 그림을 qrc 리소스로 저장하고 스타일 시트를 사용하여 qslider의 모양을 사용자 정의하고 싶습니다. 그것이 내가 알아낼 수있는 유일한 방법입니다.스타일 시트를 사용하여 MacOS에서 QSlider의 핸들을 사용자 정의하는 방법

누구나 스타일 시트를 쓰는 방법을 말해 줄 수 있습니까? 나는 모든 것이 동일하지만 핸들 만 변경된다는 것을 의미합니다.

아직은 다른 질문이 있습니다. MacOS의 기본 QSlider의 경우 핸들이 그루브의 가장 왼쪽 및 가장 오른쪽 위치에 도달 할 수 없으며 스타일 시트를 사용하여 조정하는 방법은 무엇입니까?

답변

2

리소스 (.qrc) 파일에서 원하는 핸들 이미지를 추가하십시오. 그것은 당신이 좋아하는 핸들 (또는 다른 프로그램을 사용) 포토샵 꽤 쉽습니다. 그런 다음 코드 슬라이더가 원하는 방식으로 위치 얻기 위해 패딩과 마진을 조금 실험을해야 할 수도 있습니다

setStyleSheet("QSlider::handle {image: url(:/resources/image.png);}"); 

이 추가보십시오.

+0

핸들 그림을 설정 한 후에 핸들이 외부로 확장 할 수있는 핸들 여백을 설정하여 "여백"과 같은 다른 속성을 적용 할 수 없음을 발견했습니다 그루브 또는 오프셋을 남겨 두십시오. – Royt

+0

@Royt 다음 패딩을 시도, 그 작품 알아요. – Anthony

+0

Windows에서 시도한 QSlider :: handle : horizontal {background-image : url (:/images/handle.png); }는 작동 할 수 있지만 "이미지"속성은 작동하지 않습니다. 그러나 "배경 이미지"속성을 사용하면 높이와 너비가 작동하지 않을 수 있습니다. 이미지가 작 으면 여러 번 칠해집니다. 그리고 왼쪽 패딩과 오른쪽 패딩을 시도했지만 효과가 없습니다. – Royt

2

이러한 작업을 관리하려면 전체 QSlider를 변경해야합니다. 그렇지 않으면 기본 Mac OS X 그림 스타일로 대체됩니다. 따라서 QSlider의 테두리와 배경을 변경하고 자체를 처리해야합니다. 이것 좀 봐 example

+0

감사합니다. 이제 많은 특성이 함께 변경되어 사용자 지정된 모양을 적용해야한다는 것을 알고 있습니다. 하지만 스타일 시트를 작성하여 qslider를 기본 mac 슬라이더처럼 보이게 만드는 방법은 무엇입니까? – Royt

+0

글쎄, 내가 그렇게 할 몇 가지 그래픽을 사용합니다. 하지만 왜 Mac OS X에서 슬라이더의 기본 동작을 변경하고 싶습니까? –

+0

슬라이더에 대한 틱을 직접 그려보고 싶지만 Qt에서 제공하는 dufault 틱을 사용하지 않기 때문에. 그래서 핸들의 시작점과 끝점을 알아야합니다. 그러나 네이티브 맥 슬라이더에서 핸들은 가장 왼편과 가장 오른쪽에 다다를 수 없으며, Qt는 맥 스타일의 qslider를 그리기 위해 맥 API를 사용하기 때문에 약간의 오프셋이있다. 그래서 세부 사항을 알 수 없다. 스타일 시트로 사용자 정의하여 원어민 컨트롤처럼 보이게하고 싶습니다. – Royt