2016-06-21 4 views
0

QLabel에 이미지와 텍스트를 세로로 가운데에 표시하려고 시도하고 있습니다. 이 작업을 수행하는 방법을 알 수 없습니다. 내가 인터넷에서 발견 한 대부분의 소스는 다음과 같은 코드를 사용하는 것이 좋습니다 :QLabel의 이미지 근처에 텍스트의 가운데 가운데에 수직 가운데에

ui->label->setText("<img src='c:/images.jpg' style='vertical-align:middle;'> Hello"); 

그러나 내가 무엇을 얻을 this입니다. 텍스트의 맨 아래 줄이 이미지의 중앙에 위치하지만, 내가 갖고 싶은 것은 중앙에 올 텍스트의 중간 줄입니다 (예 : made in ms paint). 꽤 일반적인 작업처럼 들리지만 어떤 대답도 찾을 수 없었습니다.

어떻게하면됩니까?

+0

스타일 시트가있는 솔루션을 찾고 있습니까? 그렇지 않습니다. 그렇지 않다면'QHBoxLayout'을 만들고'QLabel'을 두 개 넣을 수 있습니다 : 하나는 그림이되고 다른 하나는 제목이 – IAmInPLS

+0

인 스타일 시트가 좋습니다. 네, 2 라벨 솔루션에 대해 생각하고 있었는데, 저에게 맞지 않습니다. –

답변

0

QtCreator에서 실행하려고했는데 정상적으로 작동합니다. 시작하기 전에 다음을 시도해보십시오.

  1. 사진의 크기를 확인하십시오. paint.net 또는 그와 비슷한 것으로 엽니 다. 아마도 상단 이미지는 보이지 않는 부분입니다. 그 이미지의 실제 크기는 보이는 부분이 아래쪽에있는 길쭉한 사각형처럼 보입니다. 다른 이미지를 사용해보십시오.
  2. 형식 jpg를 png로 변경하십시오. jpg 형식으로 이미지를 표시 할 때 문제가있어서 항상 png를 사용하려고합니다.
  3. 스타일 관련 문제. Qt는 CSS 스타일과 맞지 않을 수 있습니다. Qt의 일부가 아니기 때문입니다. Qt 5.4.0 버전에서 테스트되었습니다. 나이가 많은 사람은 나이를 업데이트 할 수 있습니다.
+0

이미지는 사각형입니다. http://imgur.com/hHaLXD4. 나는 JPG와 PNG를 모두 시험해 보았다. 같은 결과였다. Qt 5.6을 사용하고 있습니다. 스크린 샷을 게시 하시겠습니까? 아마도 사용하는 글꼴 크기가 너무 작아서 텍스트가 텍스트의 맨 아래 줄에 집중되어 있는지 (현재 내가 가지고있는 것인가) 또는 중심선에 따라 있는지 (이게 내가 성취하려고하는 것임) 알 수 있습니까? 라벨의 글꼴 크기를 더 크게 설정해보십시오. –

+0

@ O.W.Grant - Hm ... 예, 글꼴 크기를 늘리면 레이블은 http://imgur.com/sxX7tSF처럼 보입니다. 그래서,하지만 jsfiddle : jsfiddle.net/nr6Lme5n이 코드를 사용하면 작동합니다. 그 이유는 Qt에서 레이블의 세로 정렬이 작동하지 않는다고 생각합니다. 나는 다른 변종을 시도하고 해결책을 찾을 수 있다면 써라. – steell911