我在我的應用程序中有一個QListView
,並希望顯示一個帶有圖標的文件列表,如QT文檔中所示。
而QListView是在Icon mode
我有下面的代碼: -爲什麼文件圖標在QListView中不可見?
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
是的,我已經包含了它 –
什麼是「相同的圖標」?截圖可能? – Tay2510