当前位置: 首页 > news >正文

湘潭企业网站建设 磐石网络凯里网站建设流程

湘潭企业网站建设 磐石网络,凯里网站建设流程,南宁网站建设搭建,做外贸网站可以收付款吗⭐️我叫恒心#xff0c;一名喜欢书写博客的研究生在读生。 原创不易~转载麻烦注明出处#xff0c;并告知作者#xff0c;谢谢#xff01;#xff01;#xff01; 这是一篇近期会不断更新的博客欧~~~ 有什么问题的小伙伴 欢迎留言提问欧。 功能点一#xff1a;文件查找与… ⭐️我叫恒心一名喜欢书写博客的研究生在读生。 原创不易~转载麻烦注明出处并告知作者谢谢 这是一篇近期会不断更新的博客欧~~~ 有什么问题的小伙伴 欢迎留言提问欧。 功能点一文件查找与现实 0、知识点 打开文件管理器进行目录选择记忆下拉框的内容filetable使用文件信息显示文件图标的获取自定义排序 1、 确定需求 在搜索栏输入关键字快速搜索系统桌面目录里的文件和文件夹展示在列表中包含程序图标、名称、路径、大小信息。 注 ​ a. 文件夹无需展示大小 ​ b. 搜索结果无需包含桌面文件夹中的子文件和子文件夹 文件夹无需显示大小 // 大小QTableWidgetItem *sizeItem nullptr;// 如果是目录则sizeItem值为空QFileInfo fileInfo(filePath);if(fileInfo.isDir()){// 如果是目录直接设置为nullptr, 不显示大小sizeItem nullptr;}else{// 如果是目录计算文件大小并设置为sizeItemsizeItem new QTableWidgetItem(tr(%1 KB).arg(int((size 1023) / 1024)));sizeItem-setData(absoluteFileNameRole, QVariant(filePath));sizeItem-setToolTip(toolTip);sizeItem-setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);sizeItem-setFlags(sizeItem-flags() ^ Qt::ItemIsEditable);}2、 查找和文件目录选择 如果是只通过编写代码的话就直接通过connect函数进行槽的绑定就可以啦。 这里主要尝试ui下的槽函数可视化添加槽。 具体的槽函数实现功能 // 当查找的按钮被触碰时触发的槽函数 void MainWindow::on_findButton_clicked() {// 注意这里用的filesTable 是wiget类型的ui-filesTable-setRowCount(0);QString fileName ui-fileComboBox-currentText();QString text ui-textComboBox-currentText();QString path QDir::cleanPath(ui-directoryCombox-currentText());// 查找并显示文件currentDir QDir(path);// 更新目录watcher.removePath(currentDir.path());watcher.addPath(path);findFilesInDirectory(path, ui-fileComboBox-currentText(), ui-textComboBox-currentText());QStringList files;// 文件名进行查找文件findRecursion(path, fileName.isEmpty() ? QStringLiteral(*) : fileName, files);// 在已经查找出的文件进一步查找哪些包含了textif(!text.isEmpty())files findFiles(files, text);files.sort();showFiles(files); }目录选择 void MainWindow::on_broweButton_clicked() {QString directory QDir::toNativeSeparators(QFileDialog::getExistingDirectory(this,tr(Find Files),QDir::currentPath()));if(!directory.isEmpty()){if(ui-directoryCombox-findText(directory) -1)ui-directoryCombox-addItem(directory);ui-directoryCombox-setCurrentIndex(ui-directoryCombox-findText(directory));} }3、自定义排序 // 表头排序指示器ui-filesTable-setSortingEnabled(true); // 允许排序ui-filesTable-horizontalHeader()-setSortIndicatorShown(true); // 显示排序指示器具体实现 void MainWindow::createFilesTable() {ui-filesTable new QTableWidget(0,3);ui-filesTable-setSelectionBehavior(QAbstractItemView::SelectRows);QStringList labels;labels tr(Filename) tr(Path) tr(Size);ui-filesTable-setHorizontalHeaderLabels(labels);ui-filesTable-horizontalHeader()-setSectionResizeMode(0, QHeaderView::Stretch);ui-filesTable-verticalHeader()-hide();ui-filesTable-setShowGrid(false);// 表头排序指示器 // ui-filesTable-setSortingEnabled(true); // 允许排序 // ui-filesTable-horizontalHeader()-setSortIndicatorShown(true); // 显示排序指示器// 菜单ui-filesTable-setContextMenuPolicy(Qt::CustomContextMenu);connect(ui-filesTable, QTableWidget::customContextMenuRequested,this, MainWindow::contextMenu);connect(ui-filesTable, QTableWidget::cellActivated,this, MainWindow::openFileOfItem); } 不过有点问题 因为size字段带了单位后是字符字符的大小比较会有点问题因此在实现中先关闭。 解决办法 1、通过文本排序QTextListFormat的style和index进行排序。 2、lamb表达式对排序规则进行自定义。 4、文件图标获取 QIcon icon iconProvider.icon(filePath);具体实现 void MainWindow::showFiles(const QStringList paths) {QFileIconProvider iconProvider;for(const QString filePath : paths){// 获取图标const QString toolTip QDir::toNativeSeparators(filePath);const QString relativePath QDir::toNativeSeparators(currentDir.relativeFilePath((filePath)));const qint64 size QFileInfo(filePath).size();QIcon icon iconProvider.icon(filePath);QTableWidgetItem *fileNameItem new QTableWidgetItem(relativePath);fileNameItem-setData(absoluteFileNameRole, QVariant(filePath));fileNameItem-setToolTip(toolTip);fileNameItem-setFlags(fileNameItem-flags() ^ Qt::ItemIsEditable);// 添加图标进入名称的位置fileNameItem-setIcon(icon);// 添加路径QTableWidgetItem *pathItem new QTableWidgetItem(filePath);pathItem-setData(absoluteFileNameRole, QVariant(filePath));pathItem-setToolTip(toolTip);pathItem-setFlags(fileNameItem-flags() ^ Qt::ItemIsEditable);// 大小QTableWidgetItem *sizeItem nullptr;// 如果是目录则sizeItem值为空QFileInfo fileInfo(filePath);if(fileInfo.isDir()){// 如果是目录直接设置为nullptr, 不显示大小sizeItem nullptr;}else{// 如果是目录计算文件大小并设置为sizeItemsizeItem new QTableWidgetItem(tr(%1 KB).arg(int((size 1023) / 1024)));sizeItem-setData(absoluteFileNameRole, QVariant(filePath));sizeItem-setToolTip(toolTip);sizeItem-setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);sizeItem-setFlags(sizeItem-flags() ^ Qt::ItemIsEditable);}int row ui-filesTable-rowCount();ui-filesTable-insertRow(row);ui-filesTable-setItem(row, 0, fileNameItem);ui-filesTable-setItem(row, 1, pathItem);ui-filesTable-setItem(row, 2, sizeItem);}ui-fileFoundLabel-setText(tr(%n file(s) found (Double click on a file to open it), nullptr, paths.size()));ui-fileFoundLabel-setWordWrap(true); }5、目录查找范围 在findRecursion函数中这部分放在else循环外 遍历搜索的子目录。在内的话就不遍历子目录的内容 foreach (const QString dir, currentDir.entryList(QDir::Dirs | QDir::NoSymLinks | QDir::NoDotAndDotDot)){findRecursion(prefix dir, fileName, result);}6、 功能实现 最后 狗头保命 一名喜欢书写博客的研究生在读生 如果觉得有用麻烦三连支持一下欧希望这篇文章可以帮到你你的点赞是我持续更新的动力。 如果有感兴趣的小伙伴欢迎留言后面会继续将笔记补上去~
http://www.hkea.cn/news/14364495/

相关文章:

  • 网站建设公司山西微盟商城
  • 一个网站可以做几个关键词织梦模板下载商城网站模板(高端大气上档次:带数据)
  • 网站建设实训室介绍滨州网站seo服务
  • 网站建设应该注意的问题设计师可以在哪些网站接单
  • 资阳住房和城乡建设厅官方网站查域名138
  • 网站建设流图visio考试网站开发的可行性分析
  • 长沙网站开发 58网站建设过时了吗
  • 做招投标有哪些网站wordpress4.8内存
  • 中国最大的做网站的公司wordpress入门到精通
  • 最专业网站建设wordpress禁用用户名
  • 网站建设和维护需要学的东西高校网站建设 调查
  • 湖南火电建设有限公司招标网站南阳高端网站建设
  • 网站安全建设策划书医院网站前置审批文件
  • 长沙城乡建设网站各种浏览器网站大全
  • 中企动力建站怎么样游戏云服务器租用
  • 建设网站的建设费用包括什么科目广州互联网广告推广
  • 网站设计网网站seo优化推推蛙
  • 网站首页的动态视频怎么做的申请163邮箱注册
  • 上海网站建设服务商襄垣网站建设
  • 金光华网站建设免费的代理服务器
  • 黑龙江恒泰建设集团网站网页版米游社
  • 四川省建设厅消防网站网站管理端怎么做
  • 信誉好的扬中网站建设在线图片编辑器软件
  • flash打开网站源码自己公司怎样做免费的网站
  • 福建泉州做淘宝的拿货什么网站网站是怎么制作的
  • 大连投诉网站江苏省工程建设信息网
  • 建站工具有哪些论坛洛阳制作网站的公司哪家好
  • 2018网站建设网站建设哪几家好一些
  • 网站建设与维护 前台做营销型网站的企业
  • 郓城网站建设网址查询服务器地址