Qt-interest Archive, May 2007
why not QListView display items in the order QListViewItem created?
Message 1 in thread
hi,
the display order of QListView confuse me again
files in a directory can displayed in m_listview ascending;
but dirs in a directory cannot and neither ascending nor descending;
but strangething is printf does!
this is my code fragment:
QDir cwd(path);
if (path != "")
if (!cwd.cd(path))
return;
if (!cwd.exists()) return;
cwd.setSorting( QDir::Name );
QFileInfo *fi;
cwd.setFilter( QDir::Dirs | QDir::NoSymLinks | QDir::Hidden );
const QFileInfoList *dirlist = cwd.entryInfoList();
QFileInfoListIterator dit(*dirlist);
dit.atFirst();
while( (fi=dit.current())!=0)
{
printf("%s\n",fi->fileName().ascii()); // print dirs in ascending
if(fi->fileName()=="."||fi->fileName()=="..") {
++dit;
continue;
}
else
{
new QListViewItem(m_ListView,fi->fileName().latin1());
// but in m_listview dirs is not ascending;
++dit;
}
}
cwd.setFilter(QDir::Files | QDir::NoSymLinks | QDir::Hidden);
const QFileInfoList *filelist = cwd.entryInfoList();
QFileInfoListIterator fit(*filelist);
fit.atFirst();
while ( (fi=fit.current())!=0)
{
printf("%s\n",fi->fileName().ascii());
//print files ascending
new QListViewItem(m_ListView,fi->fileName().latin1());
//show files ascending too
++fit;
}
what's the problem?
thanks
--
[ signature omitted ]