fileDialog学习

#include "dialog.h"

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    setWindowTitle("fileDialog类(文件对话框测试)");

    //1、创建控件
    FileNameLabel = new QLabel("文件名称:");
    FileNameLineEdie = new QLineEdit;
    FileButton = new QPushButton("选择...");


    FileSizeLabel = new QLabel("文件大小");
    FileSizeLineEdie = new QLineEdit;
    GetFileInfoButton = new QPushButton("计算文件大小");


    //2、排列布局

    QGridLayout *glayout = new QGridLayout;
    glayout->addWidget(FileNameLabel,0,0);
    glayout->addWidget(FileNameLineEdie,0,1);
    glayout->addWidget(FileButton,0,2);

    glayout->addWidget(FileSizeLabel,1,0);
    glayout->addWidget(FileSizeLineEdie,1,1,1,2);
    //glayout->addWidget(GetFileInfoButton,2,0,1,3);

    QHBoxLayout *hlayout = new QHBoxLayout();
    hlayout->addWidget(GetFileInfoButton);

    QVBoxLayout *vlayout = new QVBoxLayout(this);
    vlayout->addLayout(glayout);
     vlayout->addLayout(hlayout);

     connect(FileButton,SIGNAL(clicked()),this,SLOT(GetFileInfo()));
     connect(GetFileInfoButton,SIGNAL(clicked()),this,SLOT(GetFileSixze()));
}

Dialog::~Dialog()
{
}
void Dialog::GetFileInfo()
{
    QString strFileName = QFileDialog::getOpenFileName(this,"打开","/","File(*)");
    FileNameLineEdie->setText(strFileName);
}
void Dialog::GetFileSixze()
{
    //获取单行编辑框,控件里面文件路径等
    QString strFileNames = FileNameLineEdie->text();

    QFileInfo fileinfo(strFileNames);
    qint64 FileSize = fileinfo.size();
    FileSizeLineEdie->setText(QString::number(FileSize));


}

相关类

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QLabel>
#include <QPushButton>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QLineEdit>

#include <QFileDialog>

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = nullptr);
    ~Dialog();
private:
    QLabel *FileNameLabel;
    QLineEdit * FileNameLineEdie;
    QPushButton *FileButton;

    QLabel *FileSizeLabel;
    QLineEdit * FileSizeLineEdie;
    QPushButton *GetFileInfoButton;

private slots:
    void GetFileInfo();
    void GetFileSixze();
};
#endif // DIALOG_H

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值