QT5中操作QWidgetItem下的集合元素(二)

一、在列表中显示目录,界面添加显示目录的按钮,对象名称为showDirButton:

二、引入头文件

#include <QWidgetItem>
#include <QListWidgetItem>
#include <QMessageBox>
#include <QStringList>
#include <QtDebug>
#include <QDir>
#include <QFileDialog>

三、向项目中添加资源文件,并导入资源,然后右键单击QListWidget选择编辑项目,操作如图:

四、声明槽函数 

private slots:
    //显示目录
    void showDirSlot();
    //单击列表中的项
    void singleClickedSlot(QListWidgetItem *);
    //双击列表中的项
    void doubleClickedSlot(QListWidgetItem *);

五、实现槽函数:

//显示目录
void MainWindow::showDirSlot(){
    //QStringList fileNames = QFileDialog::getOpenFileNames(this,"Open File",QDir::currentPath());
    QDir dir = QDir::current();
    QStringList fileNames = dir.entryList();
    if(fileNames.size() == 0){
        QMessageBox::information(this,"ERROR MSG","没有文件");
        return ;
    }
    for(int index = 0; index < fileNames.size(); index++){
        if(fileNames.at(index) == "." || fileNames.at(index) == ".."){
            continue;
        }
        QListWidgetItem *item = new QListWidgetItem;
        item->setText(fileNames.at(index));
        ui->listWidgetShowView->addItem(item);
    }
}

//单击列表中的项
void MainWindow::singleClickedSlot(QListWidgetItem *item){
    QMessageBox::information(this,"信息","single clicked"+item->text());
}

//双击列表中的项
void MainWindow::doubleClickedSlot(QListWidgetItem *item){
    QMessageBox::information(this,"信息","double clicked"+item->text());
}

六、信号与槽连接

QObject::connect(ui->showDirButton,SIGNAL(clicked()),this,SLOT(showDirSlot()));

    this->connect(ui->listWidgetShowView,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(singleClickedSlot(QListWidgetItem *)));
    this->connect(ui->listWidgetShowView,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(doubleClickedSlot(QListWidgetItem *)));

七、在构造函数中加入初始化列表显示模式

ui->listWidgetShowView->setViewMode(QListView::IconMode);

版权声明:此文为本站源创文章[或由本站编辑从网络整理改编],

转载请备注出处: [狂码一生]http://www.sindsun.com/article-details-70.html

[若此文确切存在侵权,请联系本站管理员进行删除!]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android 研究

OKHttp源码解析(二):"前戏"——HTTP的那些事

本篇文章为OkHttp的"前戏"篇,主要讲解关于http协议的一些基础知识。主要内容如下:

2675
来自专栏Java技术栈

JSON Web Token (JWT),服务端信息传输安全解决方案。

JWT介绍 JSON Web Token(JWT)是一种开放标准(RFC 7519),它定义了一种紧凑独立的基于JSON对象在各方之间安全地传输信息的方式。这些...

43610
来自专栏云计算教程系列

如何在Ubuntu 16.04中为Apache创建自签名SSL证书

TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。

3020
来自专栏菩提树下的杨过

[原创]x.509证书在WCF中的应用(Web/IIS篇)

在上一篇"x.509证书在WCF中的应用(CS篇)"里,我们知道了如何在应用程序中,利用x.509证书来验证WCF的消息安全(没看过的朋友建议先看下,地址htt...

2205
来自专栏有趣的django

Django REST framework+Vue 打造生鲜超市(六) 七、用户登录与手机注册

七、用户登录与手机注册 7.1.drf的token (1)INSTALL_APP中添加 INSTALLED_APPS = ( ... 'rest...

2K8
来自专栏FreeBuf

CVE-2017-3085:Adobe Flash泄漏Windows用户凭证

早前我写了一篇文章讲述Flash沙盒逃逸漏洞最终导致Flash Player使用了十年之久的本地安全沙盒项目破产。从之前爆出的这个漏洞就可以看出输入验证的重要性...

3036
来自专栏有趣的Python

10- vue django restful framework 打造生鲜超市 -用户登录和手机注册(中)

Vue+Django REST framework实战 搭建一个前后端分离的生鲜超市网站 Django rtf 完成 手机注册和用户登录(中) Json...

76011
来自专栏安富莱嵌入式技术分享

【RL-TCPnet网络教程】第34章 RL-TCPnet之SMTP客户端

本章节为大家讲解RL-TCPnet的SMTP应用,学习本章节前,务必要优先学习第33章的SMTP基础知识。有了这些基础知识之后,再搞本章节会有事半功倍的效果。

881
来自专栏魏艾斯博客www.vpsss.net

查看及修改百度站长工具中的准入秘钥

5201
来自专栏青蛙要fly的专栏

Android技能树 — 网络小结(3)之HTTP/HTTPS

介于自己的网络方面知识烂的一塌糊涂,所以准备写相关网络的文章,但是考虑全部写在一篇太长了,所以分开写,希望大家能仔细看,最好可以指出我的错误,让我也能纠正。

983

扫码关注云+社区

领取腾讯云代金券