Название: Как программно получить количество букв помещающихся в label ? Отправлено: virtual_root от Май 04, 2012, 10:28 Добрый день ребята. Подскажите пожалуйста, как мне программно узнать сколько букв я могу поместить в label определенной ширины. Я просто хочу в сообщении оставить такое количество букв которое вместится и троеточие добавить остальное обрезать. Как на сайтах часто встречается. Я понимаю глупый наверное вопрос,но очень нужен ваш совет. Просто статически оставлять какое-то фиксированное кол-во букв не хочется...
Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: Пантер от Май 04, 2012, 10:35 http://doc-snapshot.qt-project.org/4.8/qwidget.html#fontMetrics
Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: virtual_root от Май 04, 2012, 11:08 Спасибо,помогло.
Сделала так: Код: QFontMetrics m(ui->label_2->font()); У меня ещё вопрос. Может кому-то приходилось решать подобную задачу: Есть сообщение, которое приходит от сервера в виде html. Отображаю его в textedit, так как оно может быть достаточно не маленьким. В сообщении встречаются ссылки. Возможно ли как-нибудь обработать эти ссылки, чтобы при нажатии на них запускался браузер и открывалась нужная страничка? У меня была идея ложить их в label а потом в textedit, но я не нашла способа как это реализовать... У textedit нет метода addWidget... Кто-нибудь знает решение? Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: Пантер от Май 04, 2012, 11:14 http://doc-snapshot.qt-project.org/4.8/qlabel.html#openExternalLinks-prop
Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: virtual_root от Май 04, 2012, 11:15 Да, это я понимаю как при нажатии на qlabel открыть страничку, а как мне эти qlabel запихнуть в textedit?
И ещё вопрос: можно ли как-то из html текста получить только текст? Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: Alex Custov от Май 04, 2012, 11:16 Возможно ли как-нибудь обработать эти ссылки, чтобы при нажатии на них запускался браузер и открывалась нужная страничка? У меня была идея ложить их в label а потом в textedit, но я не нашла способа как это реализовать... У textedit нет метода addWidget... Кто-нибудь знает решение? QTextBrowser Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: virtual_root от Май 04, 2012, 11:25 QTextBrouser подошёл! А как сделать так чтобы он мне ссылки не в себе открывал?
Я ловлю сигнал on_textBrowser_anchorClicked(const QUrl &arg1) открываю ссылку в браузере, но он ещё и дополнительно в себе её открывает... а этого мне не нужно. Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: virtual_root от Май 04, 2012, 11:28 уже нашла
Код: ui->textBrowser->setOpenLinks(false); Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: pastor от Май 04, 2012, 12:32 Цитировать Я просто хочу в сообщении оставить такое количество букв которое вместится и троеточие добавить остальное обрезать. см. QFontMetrics::elidedText Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: virtual_root от Май 04, 2012, 12:35 спасибо)
Название: Re: Как программно получить количество букв помещающихся в label ? Отправлено: Странник от Май 04, 2012, 12:46 QTextBrouser подошёл! А как сделать так чтобы он мне ссылки не в себе открывал? setOpenExternalLinks(true) проще.Я ловлю сигнал on_textBrowser_anchorClicked(const QUrl &arg1) открываю ссылку в браузере, но он ещё и дополнительно в себе её открывает... а этого мне не нужно. |