2017-12-18 56 views
0

위젯의 일부 (예 : QDateEdit의 버튼)가 너무 작아서 터치 스크린에서 제대로 사용할 수 없습니다.Qt5, X11, libxcb. 슬라이더 및 위젯의 다른 부분이 너무 작습니다.

내 시스템에서 슬라이더 (예 : 그에 따라 setGlobalStrut()을 사용하면 위젯의 스크롤 영역에 대해 더 커집니다. 그러나 슬라이더에는 화살표가있는 버튼이 시스템에서 매우 작습니다. QDateWidget도 마찬가지입니다. 화살표가있는 버튼은 시스템에서 매우 작기 때문에 터치 스크린에 잘 사용할 수 없습니다.

우리는 Pvbrowser (pvbrowser.org)를 사용하여 터치 스크린이있는 임베디드 시스템에서 가스 측정 장치를 시각화합니다. 그것은 임베디드 리눅스 yocto/poky "jethroo"를 실행합니다. 매개 변수를 전달하면 응용 프로그램이 QApplication :: setGlobalStrut을 호출합니다. 그 효과는 일부 요소가 위젯 내에서 더 큰 요소가 아니라 하위 요소가된다는 것입니다.

다음과 같은 시스템에서 Qt 응용 프로그램의 모양을 변경할 수있는 방법이 있습니까 : vnc 기능이 필요하므로 egl 대신 X11이 사용되었습니다. 디스플레이 관리자는 사용되지 않고 Windows 관리자는 "성냥갑"입니다. Qt는 5.5.1 버전입니다.

답변

0

그동안 해결책을 찾았습니다. 화면 크기가 X11에 설정되지 않았고 xrandr이 0dpi로보고되었습니다. dpi를 설정하면 (예 : mconsole에서 "xrandr --dpi 146"을 호출하면 dateTime 위젯, 스크롤 막대 또는 기타 내의 화살표 요소 등의 크기가 응용 프로그램이 다시 시작될 때 그에 따라 조정됩니다.

위젯과 그 요소가 변경되었을뿐만 아니라 글꼴 크기도 dpi에 따라 달라 지므로 글꼴 크기가 변경됩니다.