Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Boris от Февраля 25, 2008, 11:29



Название: Показать Hint(подсказку) над TableWidget
Отправлено: Boris от Февраля 25, 2008, 11:29
Как показать подсказку над TableWidget/ принудительно вызвать (нобходимо показывать подсказки над каждой ячейуой таблицы). Как вообще показывать подсказки над кнопками, ComboBox'ами и др.
Как узнать что текст в ячейке TableWidget'а не виден полностью?


Название: Re: Показать Hint(подсказку) над TableWidget
Отправлено: pastor от Февраля 25, 2008, 12:44
Смотри в строну setToolTip.


Название: Re: Показать Hint(подсказку) над TableWidget
Отправлено: Boris от Февраля 25, 2008, 13:59
Спасибо pastor, а то я в Event'ы полез, получилось как-то громоздко.

А как узнать что ширина строки в QTableWidgetItem меньше чем ширина самого TableWidgetItem


Название: Re: Показать Hint(подсказку) над TableWidget
Отправлено: Boris от Февраля 25, 2008, 16:11
Определить то длину строки и размер иконки (если она есть) я могу
Код:
        QFont font(Grid->font());
QFontMetrics fm( font );
w = fm.width(str.toStdString().c_str()) ;
        QIcon icon = item->icon();//Нужный итем tableGrid'а
if(!icon.isNull())
          w = w + Grid->iconSize().width();

Но все равно есть разница в 10 - 14 пикселей, это видимо из-за отступа и троеточие (которое добавляется когда не видно всю строку), как с этим быть??? Может есть более лучий способ!


Название: Re: Показать Hint(подсказку) над TableWidget
Отправлено: Пантер от Февраля 25, 2008, 16:21
Не знаю как правильно, но так нельзя, т.к. отступы 10-14 пикселей - субъекция, и зависит от темы.


Название: Re: Показать Hint(подсказку) над TableWidget
Отправлено: ритт от Февраля 25, 2008, 16:55
читай про QStyle и метрики
подгляди код элайда в соотв.виджете