qt 질문 드립니다.
글쓴이: paeksj98 / 작성시간: 금, 2013/04/05 - 9:37오전
어떤식으로 구현을 해야될지 몰라서 질문 드립니다.
환경은 임베디드 환경에 qt 3.3입니다.
단말기 LCD는 흑백이고 해상도는 320*240입니다.
단말기에서 디스플레이된 리스트들에 커서를 위치시켜서 이동을 합니다.
여기서 말하는 커서는 한라인을 통째로 반전시킵니다.
QListViewItem에 msg들은 QString입니다.
item = new QListViewItem(listView, QString, QString, QString);
이부분에서 수정하고 싶은 부분이 240이란 해상도에는 글자를 몇자 못넣습니다.
글자 길이가 길어지면 뒷글자들은 안보입니다. 구현하고 싶은게
글자수가 화면을 넘어가면 이때는 멀티라인으로 나오고 커서(?)가 멀티라인이면
두라인이 동시에 반전되는 기능을 구현하려고 합니다.
지금 문제의 핵심은 총8라인의 화면이 디스플레이 되는데 특정 라인의 특정 QString이
화면을 넘어가는 글자수이면 뒷부분이 안보입니다. 이럴경우 멀티라인으로 나오게 하고 싶습니다.
이때 listView->setCurrentItem(test->itemBelow());, listView->setCurrentItem(change);
이런식으로 라인이 선택되는데 멀티라인을 구현못하고 있네요.
어떤식으로 접근해야할지 조언좀 부탁드립니다.
설명이 잘 이해가 되었으면 좋겠습니다.
어제부터 삽질하는데 적당한 방법을 못찾고 있습니다.
Forums:
이런 건 어떤가요?
딱 생각이 드는게
이정도면 되지 않을까요?
언어 지원이 다양해서 글자를 임의로 자를수 없습니다.
폰트가 고정 폰트가 아니라서 .이나 폭이 좁은게 들어오면 \n가 엉뚱한 곳에 들어가 보기가 않좋습니다.
답변 감사합니다.
\n이 들어갔을때 줄바꿈이 되었으면 좋겠다는
\n이 들어갔을때 줄바꿈이 되었으면 좋겠다는 뜻인가요? 아니면 줄이 길어지면 자동으로 word-wraped 되게 하고 싶다는 뜻인가요?
전자는 http://doc.qt.digia.com/3.3/qlistviewitem.html#setup 에서 setHeight()를 호출해서 높이를 지정해주면 되고, 후자는 직접 아이템을 그리셔야 합니다. http://doc.qt.digia.com/3.3/qlistviewitem.html#paintCell 참고하세요.
두번째 방법으로 하려고 하는데 잘안되네요.
염치불구하고 간단한 예좀 부탁드려도 될까요.
이것 저것 뒤져서 해보는데 with를 줘도 변화가 없네요.
제가 잘몰라서 그러는것 같은데 도움좀 부탁 드립니다.
http://www.qtforum.org/articl
http://www.qtforum.org/article/11625/word-wrap-on-qlistviewitem.html
참고하세요.
저는 인터넷 검색을 하고있었는데..
저한테는 왜 안보였는지 정말 감사합니다.
자동으로 줄바꿈을 하고 싶습니다.
글자 수가 매번 틀리기 때문에 정확한 위치를 찾을수 없습니다.
언어도 한글 영어 등등 여러가지가 쓰이기 때문에 정확한 고정 위치를 알수 없습니다.
답변 감사합니다.
알려주신 방법 한번 적용해보겠습니다.
댓글 달기