【发布时间】:2014-06-14 07:12:36
【问题描述】:
我的应用程序中有一个QListView,并希望显示带有图标的文件列表,如 QT 文档中所示。
QListView 在Icon mode
我有以下代码:-
std::vector<std::string>::iterator it = result.begin() ; // got the results, now tie them to the StandardItemModel.
RespPara::stringList = new QStringList ;
RespPara::model = new QStringListModel ;
while(it!=result.end())
{
std::cout<<*it<<std::endl ;
RespPara::stringList->append((*it).c_str()) ;
it++ ;
}
RespPara::model->setStringList(*(RespPara::stringList)) ;
RespPara::mainWindow->listView->setModel(RespPara::model) ;
现在,虽然文件列表在主应用程序中可见,但图标不可见。
我在这里做错了什么?我该如何解决这个问题?
编辑:- 这是为所有类型的文件提供相同图标的新代码:-
while(!in.eof())
{
getline(in, buff) ;
QFileInfo fileInfo(buff.c_str()) ;
QFileIconProvider iconProvider ;
QIcon icon = iconProvider.icon(fileInfo) ;
QStandardItem* standardItem = new QStandardItem(icon, buff.c_str()) ;
myModel->appendRow(standardItem) ;
}
win.listView->setModel(myModel) ;
这是屏幕截图:-
【问题讨论】:
-
您是否在
buff中包含了文件扩展名(例如:.txt)? -
是的,我已经收录了
-
什么是“同一个图标”?可以截图吗?
-
好的,马上贴出来。
-
@Tay2510 发布了屏幕截图
标签: c++ linux qt user-interface qlistview