首页 > 其他分享 >7、QFileDialog类文件对话框

7、QFileDialog类文件对话框

时间:2023-12-07 15:44:44浏览次数:28  
标签:文件 glayout 对话框 QFileDialog Dialog addWidget new include

QFileDialog类(文件对话框)

 

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QHBoxLayout> //水平布局
#include <QVBoxLayout> //垂直布局

#include <QFileDialog>

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    QLabel *FileNameLabel;
    QLineEdit *FileNameLineEdit;

    QPushButton *FileButton;

    QLabel *FileSizeLabel;
    QLineEdit *FileSizeLineEdit;

    QPushButton *GetFileInfoButton;

private slots:
    void GetFileInfoFunc(); //用于打开文件
    void GetFileSizeFunc(); //用于获取文件的大小
};

#endif // DIALOG_H

 

#include "dialog.h"
#include "QDebug"

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


    //创建对应的控件
    FileNameLabel =new QLabel("文件名称:");
    FileNameLineEdit = new QLineEdit;
    FileButton=new QPushButton("选择...");

    FileSizeLabel=new QLabel("文件大小:");
    FileSizeLineEdit=new QLineEdit;

    GetFileInfoButton = new QPushButton("获取文件大小信息");


    //排列布局
    QGridLayout *glayout=new QGridLayout;
    glayout->addWidget(FileNameLabel,0,0);
    glayout->addWidget(FileNameLineEdit,0,1);
    glayout->addWidget(FileButton,0,2);
    glayout->addWidget(FileSizeLabel,1,0);
    glayout->addWidget(FileSizeLineEdit,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(GetFileInfoFunc()));
    connect(GetFileInfoButton,SIGNAL(clicked()),this,SLOT(GetFileSizeFunc()));
}

Dialog::~Dialog()
{

}

void Dialog::GetFileInfoFunc() //用于打开文件
{
    QString strFileName=QFileDialog::getOpenFileName(this,"打开","/","File(*)");
    qDebug() << strFileName;
    FileNameLineEdit->setText(strFileName);
}

void Dialog::GetFileSizeFunc() //用于获取文件大小
{
    // 获取单行编辑框控件里的路径
    QString strFileName=FileNameLineEdit->text();

    QFileInfo fileinfo(strFileName);
    qint64 fileSize=fileinfo.size();
    FileSizeLineEdit->setText(QString::number(fileSize));
}

 

标签:文件,glayout,对话框,QFileDialog,Dialog,addWidget,new,include
From: https://www.cnblogs.com/baisedeyu/p/17881859.html

相关文章

  • BAT检测Windows服务停止后自动启动?系统自动运行.bat文件?
    作者:西瓜程序猿主页传送门:https://www.cnblogs.com/kimiliucn前言想要确保你的Windows服务即使在崩溃后也能自动重启吗?这篇文章教你如何用一个小巧的批处理脚本来实现这一点。教你怎么设置定时检查,如果发现服务挂了,就立刻拉起来。跟着步骤做,让你的服务稳定运行不再是难题!......
  • Python中级之文件操作
    文件操作【一】基本用法在Python中,文件处理是常见的任务之一。以下是一些基本的文件处理操作和对应的Python语法:打开文件:使用open()函数来打开一个文件,可以指定文件名、打开模式和字符编码(可选)。#打开文件(只读模式)file=open('example.txt','r',encoding='utf-8')......
  • m基于FPGA的8PSK调制解调系统verilog实现,包含testbench测试文件
    1.算法仿真效果vivado仿真结果如下:   借助matlab看8PSK的星座图:   2.算法涉及理论知识概要        随着通信技术的不断发展,相位调制技术因其高频谱效率和抗干扰能力而广泛应用于无线通信系统中。其中,8PSK(8相位相移键控)作为一种高阶调制方式,具有更高的频......
  • c# 文件上传与下载
    文件上传: API上传的方法://上传的文件格式publicstring[]ExtentsfileName=newstring[]{".doc",".xls",".png",".jpg"};//路径publicstringUrlPath="/Upload/";///<summary&......
  • Linux编写Shell脚本获取指定目录下所有文件并处理
    Linux编写Shell脚本获取指定目录下所有文件进行处理并保存到新目录#!/bin/bashapp_name="shell"path="/dir"#原目录last_path="/newDir"#新目录echo"======================start${app_name}=============================="if[-n"$(ls$path......
  • 数据库数据恢复—sqlserver数据库和备份被加密,数据库文件名被篡改的数据恢复案例
    SQLServer数据库故障:某公司服务器上的SQLServer数据库被加密,无法使用。被加密的数据库有2个,数据库的MDF、LDF、log文件名字被篡改。数据库被加密截图:数据库备份被加密,文件名字被篡改:SQLServer数据库数据恢复过程:1、将故障数据库内的数据备份至北亚企安数据恢复中心的专用存......
  • 文件目录类命令
    pwd显示当前目录的绝对路径基本语法ls[选项][目录或是文件]列出目录内容,不指定目录则默认当前目录选项说明-a,全部的文件,连同隐藏文档。-l,长数据串列出,包含文件属性与权限等等数据,等价于“ll”显示说明每行列出的信息依次是:文件类型与权限,链接数,文件属主,文件数组,文件大小用byt......
  • Maven 环境变量配置 'mvn' 不是内部或外部命令,也不是可运行的程序或批处理文件
    在cmd里面输入对应的mvn命令出现了这行提示,说明你的maven环境变量配置有问题,需要重新配置1、添加M2_HOME和MAVEN_HOME在系统变量里面添加M2_HOME和MAVEN_HOME,都指向你的本地maven安装路径 2、添加用户变量PATH中3、校验在cmd中输入mvn-version出现你对应的maven......
  • 定时备份和scp文件
    1.编写一次性备份脚本;#exports2023120430210712*/bin/sh/home/oracle/s/export_1204.sh&>/dev/nullvi /home/oracle/s/export_1204.sh#!/bin/bashsource/home/oracle/.bash_profileexec>>/home/oracle/s/export_1204.logforiin`cat/home/oracle/s/pa......
  • MarkdownPad 文件访问权限受限导致软件打开后不久闪退解决方法
    近几天发现MarkdownPad有一些小问题,打开时会弹出以下报错信息,告诉你打开文件的权限不够解决方法如下:1、复制报错信息中的文件路径'C:\Users\Administrator\AppData\Roaming\wyUpdateAU\ApricitySoftware-MarkdownPad2.autoupdate'2、然后搜索此文件,我是利用的Everything这款......