【发布时间】:2016-09-01 16:13:08
【问题描述】:
我想:
当用户从
QFileDialog获取文件时, 我希望文件名出现在QLineEdit以及我想显示的任何信息,例如尺寸和类型等。一种获取用户文件的方法(如 C++ 中的
cin) 所以我可以控制这些信息或将其放入读取文件功能中
我在网络上到处搜索 但他们谈的一般,不详细。
【问题讨论】:
标签: c++ qt file qt-creator
我想:
当用户从QFileDialog获取文件时,
我希望文件名出现在QLineEdit
以及我想显示的任何信息,例如尺寸和类型等。
一种获取用户文件的方法(如 C++ 中的cin)
所以我可以控制这些信息或将其放入读取文件功能中
我在网络上到处搜索 但他们谈的一般,不详细。
【问题讨论】:
标签: c++ qt file qt-creator
#include <QApplication>
#include <QFileDialog>
class Tester : public QWidget
{
public:
void openFile()
{
QFileDialog::getOpenFileName( this, tr("Open Document"),
QDir::currentPath(),
tr("Document files (*.doc *.txt);;All files (*.*)"),
0, QFileDialog::DontUseNativeDialog );
QString filename = QFileDialog::getOpenFileName(
this,
tr("Open Document"),
QDir::currentPath(),
tr("Document files (*.doc *.rtf);;All files (*.*)") );
if( !filename.isNull() )
{
qDebug( filename.toAscii() );
}
}
void openFiles()
{
QStringList filenames = QFileDialog::getOpenFileNames(
this,
tr("Open Document"),
QDir::currentPath(),
tr("Documents (*.doc);;All files (*.*)") );
if( !filenames.isEmpty() )
{
qDebug( filenames.join(",").toAscii() );
}
}
void openDir()
{
QString dirname = QFileDialog::getExistingDirectory(
this,
tr("Select a Directory"),
QDir::currentPath() );
if( !dirname.isNull() )
{
qDebug( dirname.toAscii() );
}
}
}
这里是来源: Open File Dialog
【讨论】:
- 当用户从
QFileDialog获取文件时,我希望文件名出现在QLineEdit中,以及我想显示的任何信息,例如大小和类型等。
要获取选中文件的文件信息,可以使用QFileInfo。
// Absolute address of the selected file
QString file = QFileDialog::getOpenFileName(this, "Open file");
// Object for getting file info
QFileInfo info(file);
// File name
info.fileName();
// File owner
info.owner();
// File size
info.size();
// etc
- 一种获取用户文件的方法(如 C++ 中的 cin),以便我可以控制此信息或将其放入读取文件函数中
我不明白你的意思。
【讨论】: