我正在使用C ++和Qt(4.6)模型/视图框架,并想知道更改QListView
中的项目显示或从QListView
派生的类的显示的正确方法是什么:< / p>
为:
我并不关心排序顺序或Flow
,我对将文本正确放置在图标右侧的最佳方式感兴趣。
如果只能通过编写一个完全正常的自定义QStyledItemDelegate
来完成,我想排除这是否是正确的方法,或者最好是看看setLayout还是类似的,示例代码会有所帮助。< / p>
我正在查看的示例应用程序是来自qtdemo的“面试”示例,其中包括QListView
中的图标和文字。
答案 0 :(得分:1)
在该面试演示中,如果您从
更改list->setViewMode(QListView::IconMode);
到
list->setViewMode(QListView::ListMode);
这会给你想要的那种观点吗?
答案 1 :(得分:0)
您也可以尝试这种方式。
void CFxDRListView::changeView(int view)
{
setWrapping (false);
switch(view)
{
case eThumbnail:
{
clearPropertyFlags() ;
setViewMode(QListView::IconMode);
setLayoutMode(QListView::Batched);
setWrapping(true);
}
break;
case eIcons:
{
clearPropertyFlags() ;
setViewMode(QListView::IconMode);
setFlow(QListView::LeftToRight);
setLayoutMode(QListView::SinglePass);
setWrapping(true);
setMovement(QListView::Free);
}
break;
case eList:
{
clearPropertyFlags() ;
setFlow(QListView::TopToBottom);
setViewMode(QListView::ListMode);
setMovement(QListView::Free);
}
break;
}
}