[완료][QT/Embedded] QString의 문자열의 갯수말고 전체 linewidth를 얻을 수 있는 방법이 있을가요?

resonancme의 이미지

QString에 한글과 숫자를 혼용해서 넣었다고 한다면 한글의 크기와 숫자의 크기가 다르잖아요?

만약 이상태로 라벨에 출력하면 문자열의 갯수보다는 전체 바이트 또는 linewidth가 정해진 크기의

QLabel에 limit가 되지 않을까 생각합니다. 한글로 100개 출력했을때와 숫자로 100개 출력했을때의 전체

길이가 다른것 처럼요. 알 수 있는 방법이 있을까요?

semmal의 이미지

QLabel에 그냥 집어넣으면 디폴트로 길이를 알 수 있지 않나요?

위젯크기만 미리 지정해놓지 않으면 됩니다.

------------------------------
How many legs does a dog have?

klara의 이미지

'길이'를 정의해주세요. 앞에는 바이트수를 이야기 하시고, 뒤에선 출력했을때의 길이를 이야기 하고 계시네요.

resonancme의 이미지

제가 하려는 것은 마치 인터넷 주소창처럼 어떤 문자열을 QLabel로 출력할 때 문자열의 길이가 QLabel의 크기를 넘어서기 전에 한칸씩 당겨서
출력하려고 합니다. 마치 한칸씩 밀리는 것 처럼요

근데 문자열의 갯수(.length()나 .size()처럼)로는 숫자랑 한글이랑 혼합하였을 때는 밀리는게 불규칙해요;

같은 문자열의 갯수라도 한글로만 이루어져있느냐 숫자로 이루어져있느냐에 따라 QLabel에 출력되는 크기가 다르니까요

이문제를 해결하고 싶어서 질문드렸습니다 ㅜ

klara의 이미지

실제로 화면에 출력되는 픽셀수를 말씀하시는 거지요?
그거라면 몇가지 방법이 있는데, rich text의 경우는 QTextDocument에 한번 넣어준다음에 확인하는게 좋고, plain text라면 QFontMetrics 클래스를 통해서 할수 있습니다.
다만, 말씀하신 그대로의 목적이라면 이미 만들어져있는 QLineEdit를 이용하시는게 편할 것입니다.

익명 사용자의 이미지

QString theText = "dodododododododododo";
QRect textRect = p.fontMetrics().boundingRect (theText);
qDebug() << "width : " << textRect.width();

익명 사용자의 이미지

감사합니다^^

익명 사용자의 이미지

감사합니다^^

resonancme의 이미지

감사합니다^^