我想在文件对话框选一堆文件,然后文件名一次显示在LABEL上,每个显示之间间隔一定时间,我是这么写的,但是最后结果只显示了最后的那个文件名,不知道哪不对,大家指正,谢谢
#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QThread>
#include <QFileDialog>
class mySleep:public QThread
{
public:
static void msleep(unsigned long msecs)
{
QThread::msleep(msecs);
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QLabel *label = new QLabel("<center>FileDialog</center>");
label->setWindowTitle("FileDialog");
label->resize(500, 100);
label->setFont(QFont( "Times", 18, QFont::Bold ));
label->show();
QFileDialog* dialog = new QFileDialog(label);
dialog->setDirectory("C:\\");
dialog->setFileMode(QFileDialog::ExistingFiles);
dialog->setFilter("files (*)");
dialog->setViewMode(QFileDialog::Detail);
if (dialog->exec() == QDialog::Accepted) {
QStringList fileNames = dialog->selectedFiles();
QStringListIterator iterator(fileNames);
while(iterator.hasNext()) {
label->setText("<center>" + iterator.next() + "</center>");
mySleep::msleep(100);
}
}
return app.exec();
}