本文整理汇总了C++中QAbstractItemView::font方法的典型用法代码示例。如果您正苦于以下问题:C++ QAbstractItemView::font方法的具体用法?C++ QAbstractItemView::font怎么用?C++ QAbstractItemView::font使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QAbstractItemView
的用法示例。
在下文中一共展示了QAbstractItemView::font方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: eventFilter
bool TableViewTooltip::eventFilter(QObject * obj, QEvent * event)
{
if (event->type() != QEvent::ToolTip) {
return false;
}
QAbstractItemView* view = qobject_cast<QAbstractItemView*>(obj->parent());
if (!view) {
return false;
}
QHelpEvent * helpEvent = static_cast<QHelpEvent*>(event);
QPoint pos = helpEvent->pos();
QModelIndex index = view->indexAt(pos);
if (!index.isValid()) {
return false;
}
QString itemTooltip = view->model()->data(index, Qt::ToolTipRole).toString();
if (itemTooltip.isEmpty()) {
QToolTip::hideText();
return true;
}
QString itemText = view->model()->data(index).toString();
QFontMetrics fm(view->font());
int textIdentWidth =6;// fm.width('r'); // don't know how to calculate an ident for text in an item :-(
int itemTextWidth = fm.width(itemText) + textIdentWidth;
QRect rect = view->visualRect(index);
int rectWidth = rect.width();
if (itemTextWidth > rectWidth) {
QToolTip::showText(helpEvent->globalPos(), itemTooltip, view, rect);
}
else {
QToolTip::hideText();
}
return true;
}
示例2: eventFilter
bool ColumnToolTip::eventFilter(QObject* obj, QEvent* event)
{
if (event->type() == QEvent::ToolTip)
{
QAbstractItemView* view = qobject_cast<QAbstractItemView*>(obj->parent());
if (!view)
{
return false;
}
QHelpEvent* helpEvent = static_cast<QHelpEvent*>(event);
QPoint pos = helpEvent->pos();
QModelIndex index = view->indexAt(pos);
if (!index.isValid())
return false;
QString itemText = view->model()->data(index).toString();
QString itemTooltip = view->model()->data(index, Qt::ToolTipRole).toString();
QFontMetrics fm(view->font());
int itemTextWidth = fm.width(itemText);
QRect rect = view->visualRect(index);
int rectWidth = rect.width();
if ((itemTextWidth > rectWidth) && !itemTooltip.isEmpty())
{
QToolTip::showText(helpEvent->globalPos(), itemTooltip, view, rect);
}
else
{
QToolTip::hideText();
}
return true;
}
return false;
}