[완료][QT/Embedded] QString의 문자열의 갯수말고 전체 linewidth를 얻을 수 있는 방법이 있을가요?
글쓴이: resonancme / 작성시간: 목, 2011/07/21 - 5:41오후
QString에 한글과 숫자를 혼용해서 넣었다고 한다면 한글의 크기와 숫자의 크기가 다르잖아요?
만약 이상태로 라벨에 출력하면 문자열의 갯수보다는 전체 바이트 또는 linewidth가 정해진 크기의
QLabel에 limit가 되지 않을까 생각합니다. 한글로 100개 출력했을때와 숫자로 100개 출력했을때의 전체
길이가 다른것 처럼요. 알 수 있는 방법이 있을까요?
Forums:
QLabel에 그냥 집어넣으면 디폴트로 길이를 알 수
QLabel에 그냥 집어넣으면 디폴트로 길이를 알 수 있지 않나요?
위젯크기만 미리 지정해놓지 않으면 됩니다.
------------------------------
How many legs does a dog have?
'길이'를 정의해주세요. 앞에는 바이트수를 이야기
'길이'를 정의해주세요. 앞에는 바이트수를 이야기 하시고, 뒤에선 출력했을때의 길이를 이야기 하고 계시네요.
제가 하려는 것은 마치 인터넷 주소창처럼 어떤
제가 하려는 것은 마치 인터넷 주소창처럼 어떤 문자열을 QLabel로 출력할 때 문자열의 길이가 QLabel의 크기를 넘어서기 전에 한칸씩 당겨서
출력하려고 합니다. 마치 한칸씩 밀리는 것 처럼요
근데 문자열의 갯수(.length()나 .size()처럼)로는 숫자랑 한글이랑 혼합하였을 때는 밀리는게 불규칙해요;
같은 문자열의 갯수라도 한글로만 이루어져있느냐 숫자로 이루어져있느냐에 따라 QLabel에 출력되는 크기가 다르니까요
이문제를 해결하고 싶어서 질문드렸습니다 ㅜ
실제로 화면에 출력되는 길이를 말씀하시는
실제로 화면에 출력되는 픽셀수를 말씀하시는 거지요?
그거라면 몇가지 방법이 있는데, rich text의 경우는 QTextDocument에 한번 넣어준다음에 확인하는게 좋고, plain text라면 QFontMetrics 클래스를 통해서 할수 있습니다.
다만, 말씀하신 그대로의 목적이라면 이미 만들어져있는 QLineEdit를 이용하시는게 편할 것입니다.
QString theText =
QString theText = "dodododododododododo";
QRect textRect = p.fontMetrics().boundingRect (theText);
qDebug() << "width : " << textRect.width();
감사합니다^^
감사합니다^^
감사합니다^^
감사합니다^^
감사합니다^^
감사합니다^^
댓글 달기