createDIB: CreateDIBSection failed (640x480, format: 6)

问题描述:使用QFileDialog打开文件时程序crash。

场景是在一个Qwidget中新建一个QFileDialog,选择一个文件夹

代码如下:

  • 构造函数实例化了一个QFileDialog对象,并设置其模式为只打开文件夹
PlayBackForm::PlayBackForm(QWidget *parent) :
  QWidget(parent),
  ui(new Ui::PlayBackForm) {
  ui->setupUi(this);
  fileDialog = new QFileDialog();
  fileDialog->setFileMode(QFileDialog::DirectoryOnly);
}
  1. 打开文件按钮的槽函数如下:
  fileDialog->setDirectoryUrl(QUrl::fromLocalFile(文件路径));
  if(fileDialog->exec()) {
    QStringList fileList = fileDialog->selectedFiles();
    if(!fileList.isEmpty()) {
      QString folder = fileList.at(0);
      qDebug() << folder;
    }
  }
  • debug模式运行时出现如下问题:
    在这里插入图片描述
  1. 将打开按钮的槽函数修改如下:
  fileDialog->show();
  qDebug() << fileDialog->se

你可能感兴趣的:(qt经验)