QListWidget使用整理
来源:互联网 发布:手机上怎么看淘宝分销 编辑:程序博客网 时间:2024/05/19 16:36
1.效果图
2.源代码
fileview.h
#ifndef FILEVIEW_H#define FILEVIEW_H#include <QDialog>#include <QLineEdit>#include <QListWidget>#include <QVBoxLayout>#include <QDir>#include <QListWidgetItem>#include <QFileInfoList>class FileView : public QDialog{ Q_OBJECTpublic: FileView(QWidget *parent = 0,Qt::WindowFlags f=0); ~FileView(); void showFileInfoList(QFileInfoList list);//将目录内容显示在QListWidget列表中public slots: void slotShow(QDir dir);//当目录改变时改变QListWidget中的内容 void slotDirShow(QListWidgetItem * item);//当目录改变时改变lineedit中的目录路径private: QLineEdit *fileLineEdit;//目录路径 QListWidget *fileListWidget;//目录列表 QVBoxLayout *mainLayout;//布局};#endif // FILEVIEW_H
fileview.cpp
#include "fileview.h"#include <QStringList>#include <QIcon>FileView::FileView(QWidget *parent,Qt::WindowFlags f) : QDialog(parent,f){ setWindowTitle(tr("File View")); fileLineEdit = new QLineEdit(tr("/")); fileListWidget = new QListWidget; mainLayout = new QVBoxLayout(this); mainLayout->addWidget(fileLineEdit); mainLayout->addWidget(fileListWidget); connect(fileLineEdit,SIGNAL(returnPressed()),this,SLOT(slotShow(QDir))); connect(fileListWidget,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(slotDirShow(QListWidgetItem*))); QString root = "/";//程序所在根目录 QDir rootDir(root); QStringList string; string << "*"; QFileInfoList list=rootDir.entryInfoList(string); showFileInfoList(list);}FileView::~FileView(){}void FileView::slotShow(QDir dir){ QStringList string; string<<"*"; QFileInfoList list=dir.entryInfoList(string,QDir::AllEntries,QDir::DirsFirst); showFileInfoList(list);}void FileView::showFileInfoList(QFileInfoList list){ fileListWidget->clear(); for(unsigned int i=0;i<list.count();i++) { QFileInfo tmpFileInfo=list.at(i); if(tmpFileInfo.isDir()) { QIcon icon("dir.png"); QString fileName = tmpFileInfo.fileName(); QListWidgetItem *tmp = new QListWidgetItem(icon,fileName); fileListWidget->addItem(tmp); } else if(tmpFileInfo.isFile()) { QIcon icon("file.png"); QString fileName=tmpFileInfo.fileName(); QListWidgetItem *tmp = new QListWidgetItem(icon,fileName); fileListWidget->addItem(tmp); } }}void FileView::slotDirShow(QListWidgetItem * item){ QString str=item->text(); QDir dir; dir.setPath(fileLineEdit->text()); dir.cd(str); fileLineEdit->setText(dir.absolutePath()); slotShow(dir);}
阅读全文
0 0
- QListWidget使用整理
- QListWidget使用
- QListWidget的基本使用
- QListWidget使用总结
- Qt QListWidget的使用
- PyQt4 QListWidget 使用教程
- QListWidget控件的使用
- QListWidget简单使用
- QListWidget的使用
- QListWidget控件的使用
- QListWidget
- QListWidget
- QListWidget
- QListWidget
- QListWidget
- QListWidget
- QListWidget
- QlistWidget
- STM32CubeMX新建工程+基本IO配置过程
- Failed to Match * of * Components using Unique Identifiers
- 线性结构——队列
- Prim算法
- Ubuntu17.04搭建Shadowsocks
- QListWidget使用整理
- 从input tap来看事件注入的调用流程
- 关于xml的规范
- lintcode-- 四数之和
- 湖南省第九届大学生计算机程序设计竞赛 好老师
- linux下离线安装mysql
- OpenJudge-49:计算对数
- 解决record is locked by another user
- Kruskal算法(不能运行)