91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-06
  • 語言: C/C++
  • 標簽: QT??treeWidget??

資源簡介

QT treeWidget 加載指定路徑所有文件夾和文件,帶checkbox 整合了一些網絡文章內容做出來的小程序,拋磚引玉吧

資源截圖

代碼片段和文件信息

#include?“widget.h“
#include?“ui_widget.h“
#include?
#include?
#include?“QDebug“

Widget::Widget(QWidget?*parent)?:
????QWidget(parent)
????ui(new?Ui::Widget)
{
????ui->setupUi(this);

????ui->treeWidget->clear();????//初始化樹形控件
????ui->treeWidget->setHeaderHidden(true);
????ui->treeWidget->setstyleSheet(“QTreeView::item:hover{background-color:rgb(0255050)}“
??????????????“QTreeView::item:selected{background-color:rgb(25500100)}“);


????QString?rootpath=“E:\\Test“;
????QTreeWidgetItem*?root?=?new?QTreeWidgetItem(ui->treeWidget);
????root->setIcon(0?QIcon(“./image/folder.png“));
????root->setText(0rootpath);????//樹形控件顯示的文本信息
????root->setFlags(Qt::ItemIsUserCheckable?|?Qt::ItemIsEnabled?|?Qt::ItemIsSelectable);???//設置樹形控件子項的屬性
????root->setCheckState(0Qt::Unchecked);?//初始狀態沒有被選中

????init(root?rootpath);
????connect(ui->treeWidgetSIGNAL(itemChanged(QTreeWidgetItem*int))thisSLOT(treeItemChanged(QTreeWidgetItem*int)));

????ui->treeWidget->setItemsExpandable(true);
????ui->treeWidget->expandAll();
}

Widget::~Widget()
{
????delete?ui;
}

QFileInfoList?Widget::init(QTreeWidgetItem?*root?QString?path)
{
????/*添加path路徑文件*/
????QDir?dir(path);??????????//遍歷各級子目錄
????QDir?dir_file(path);????//遍歷子目錄中所有文件

????QFileInfoList?file_list=dir.entryInfoList(QDir::Files?|?QDir::Hidden?|?QDir::NoSymlinks);
????QFileInfoList?folder_list?=?dir.entryInfoList(QDir::Dirs?|?QDir::NoDotAndDotDot);???//獲取當前所有目錄

????for(int?i?=?0;?i?!=?folder_list.size();?i++)?????????//自動遞歸添加各目錄到上一級目錄
????{
????????QString?namepath?=?folder_list.at(i).absoluteFilePath();????//獲取路徑
????????QFileInfo?folderinfo=?folder_list.at(i);
????????QString?name=folderinfo.fileName();??????//獲取目錄名
????????//qDebug()<
????????QTreeWidgetItem*?childroot?=?new?QTreeWidgetItem(QStringList()<????????childroot->setIcon(0?QIcon(“./image/folder.png“));
????????childroot->setText(0name);
????????childroot->setFlags(Qt::ItemIsUserCheckable?|?Qt::ItemIsEnabled?|?Qt::ItemIsSelectable);
????????childroot->setCheckState(0?Qt::Unchecked);
????????root->addChild(childroot);??????????????//將當前目錄添加成path的子項

????????QFileInfoList?child_file_list?=?init(childroot?namepath);??????????//進行遞歸
????????file_list.append(child_file_list);
????????file_list.append(name);
????}

????dir_file.setFilter(QDir::Files?|?QDir::Hidden?|?QDir::NoSymlinks);????????//獲取當前所有文件
????dir_file.setSorting(QDir::Size?|?QDir::Reversed);
????QFileInfoList?list_file?=?dir_file.entryInfoList();
????//qDebug()<
????for?(int?i?=?0;?i?????{
????????QFileInfo?fileInfo?=?list_file.at(i);
????????QString?name2=fileInfo.fileName();
????????//qDebug()<
????????QTreeWidgetItem*?child?=?new?QTreeWidgetItem(QStringList()<????????child->setIcon(0?QIcon(“./image/file.png“));
????????child->setText(0name2);
????????chi

評論

共有 條評論