在QListView中自定义项目的图标和文本位置的正确方法是什么?

时间:2011-01-17 01:52:09

标签: c++ qt

我正在使用C ++和Qt(4.6)模型/视图框架,并想知道更改QListView中的项目显示或从QListView派生的类的显示的正确方法是什么:< / p>

alt text

为:

alt text

我并不关心排序顺序或Flow,我对将文本正确放置在图标右侧的最佳方式感兴趣。

如果只能通过编写一个完全正常的自定义QStyledItemDelegate来完成,我想排除这是否是正确的方法,或者最好是看看setLayout还是类似的,示例代码会有所帮助。< / p>

我正在查看的示例应用程序是来自qtdemo的“面试”示例,其中包括QListView中的图标和文字。

2 个答案:

答案 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;
    }
}