本文整理汇总了C++中QListView::fontMetrics方法的典型用法代码示例。如果您正苦于以下问题:C++ QListView::fontMetrics方法的具体用法?C++ QListView::fontMetrics怎么用?C++ QListView::fontMetrics使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QListView
的用法示例。
在下文中一共展示了QListView::fontMetrics方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setup
void HeaderItem::setup()
{
widthChanged();
const int ph = KMHeaders::pixNew->height();
QListView *v = listView();
int h = QMAX( v->fontMetrics().height(), ph ) + 2*v->itemMargin();
h = QMAX( h, QApplication::globalStrut().height());
if ( h % 2 > 0 )
h++;
setHeight( h );
}
示例2: paintCell
void ConfigurationItem::paintCell(QPainter *p, const QColorGroup &cg, int column,
int width, int align)
{
if ( (column == 0) || (column == 1) || (column == 2) )
{
if ( !p )
return;
QListView *lv = listView();
if ( !lv )
return;
const BackgroundMode bgmode = lv->viewport()->backgroundMode();
const QColorGroup::ColorRole crole = QPalette::backgroundRoleFromMode( bgmode );
p->fillRect(0, 0, width, height(), cg.brush(crole));
QFontMetrics fm(lv->fontMetrics());
int boxsize = lv->style().pixelMetric(QStyle::PM_CheckListButtonSize, lv);
int marg = lv->itemMargin();
int styleflags = QStyle::Style_Default;
if (((column == 0) && m_contents) || ((column == 1) && m_index) || ((column == 2) && m_fullTextSearch))
styleflags |= QStyle::Style_On;
else
styleflags |= QStyle::Style_Off;
if ((column == 0) || ((column == 1) && m_indexPossible) || ((column == 2) && m_fullTextSearchPossible))
styleflags |= QStyle::Style_Enabled;
int x = 0;
int y = 0;
x += 3;
if (align & AlignVCenter)
y = ((height() - boxsize) / 2) + marg;
else
y = (fm.height() + 2 + marg - boxsize) / 2;
QStyleOption opt(this);
lv->style().drawPrimitive(QStyle::PE_CheckListIndicator, p,
QRect(x, y, boxsize, fm.height() + 2 + marg), cg, styleflags, opt);
return;
}
QListViewItem::paintCell(p, cg, column, width, align);
}