关于qt中qlistwidget列表控件,qtablewidget表格控件,qtreewidget树形控件跟vc中clistbox,clistctrl,ctreectrl使用差不多,都是通过一个对应的item对象(QListWidgetItem,QTableWidgetItem,QTreeWidgetItem),来操作每一行记录。这里把它们放到一起,用一个遍历目录下所有文件的程序演示下:
//遍历目录下文件QDirIterator
ui->tableWidget->setColumnCount(3);//设置表控件的列数目
//QStringList可以直接用{字符串,字符串...}这样形式简写。
ui->tableWidget->setHorizontalHeaderLabels({"文件名","大小(字节)","修改时间"});//设置表控件的所有头部,对应列数。
ui->treeWidget->setHeaderLabels({"索引","文件名"});//设置树形控件头部,可以有多列,这里只写两列。
QDirIterator it("E:\\linuxc",
QStringList()<<"*.h",
QDir::Files,
QDirIterator::Subdirectories);
i=0;
QString sName,sSize,sTime;
while (it.hasNext())
{
it.next();//指向下一个文件节点,返回当前节点数据
//filePath获取文件名
sName=it.filePath();