qt :: qfiledialog第二次称为我的应用程序
Qt::QFileDialog crashes my application when called a second time
我是QT和OpenCV的新手,并且正在创建一个集成的项目。我遇到的问题是我有一个使用qfiledialog的文件按钮。整个东西运行顺利,我的文件加载。但是,如果我第二次单击"加载"按钮,它会崩溃。似乎问题出现在致电Qfiledialog :: getopenfilename时,但我需要专家意见。
这是单击按钮的功能。
void MainWindow::on_pushButton_clicked()
{
QFileDialog dialog(this);
dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)"));
dialog.setViewMode(QFileDialog::Detail);
// dialog.setAttribute(Qt::WA_DeleteOnClose);
// dialog.DontUseNativeDialog;
filename = QFileDialog::getOpenFileName(this, tr("Open File"),
"/home",
tr("Images (*.png *.xpm *.jpg)"));
imageObject = new QImage();
imageObject->load(filename);
image = QPixmap::fromImage(*imageObject);
scene = new QGraphicsScene(this);
scene->addPixmap(image);
scene->setSceneRect(image.rect());
ui->graphicsView->setScene(scene);
ui->graphicsView->fitInView(scene->sceneRect(),Qt::KeepAspectRatio);
cvHandler = new OpenCVHandler(filename.toStdString());
}
我已经尝试了两行评论。我的搜索也什么都不容易理解:
从qitemdelegate的自定义编辑器拨打getopenfilename时崩溃
qfiledialog打开第二个(可能是父母)不需要的窗口
QT文件对话框渲染错误并崩溃
如果完全相关,我正在使用Ubuntu 16.04 LTS系统。
谢谢
问题在评论行中。我没有正确使用对话。在getopenfileName函数中使用它可以做到的技巧:
filename = QFileDialog::getOpenFileName(this, tr("Open File"),
"/home",
tr("Images (*.png *.xpm *.jpg)"),0,QFileDialog::DontUseNativeDialog);
谢谢大家。
相关文章:
- 我的应用程序无法在安卓上使用OpenSSL进行链接
- 我的 c++ 应用程序中的运行时间从 0 增加到 60 太快了(例如一毫秒或一微秒)
- 设置我的应用程序 API 感知并防止系统使其模糊和错误定位
- 是否可以将不同的编译器嵌入到我的应用程序中?
- 即使在我为我的应用程序授予管理员后也无法从 Windows 系统复制目录
- 计算有多少人执行我的C++应用程序
- 为什么我的 C# 应用程序无法加载我的 C++ dll?
- 是否可以将 VBA 编程环境添加到我的C++应用程序?
- 指定在用户固定我的应用程序时用于运行应用程序的命令参数
- LOCAL_SHARED_LIBRARIES使我的应用程序崩溃
- 为什么使用 nullPtr 调用函数不会使我的应用程序崩溃
- 当我尝试将一个向量元素的值分配给另一个向量元素时,为什么我的应用程序会崩溃
- 为什么Linux报告了我的应用程序的内存使用情况
- 如何使用Qt读取我的应用程序屏幕像素数据
- 为什么我的应用程序即使我的应用程序也关闭,即使我有cin.get();
- 需要知道 Windows API 才能在我的应用程序激活时获取回调
- 我的应用程序是从Visual Studio内部运行还是通过执行EXE文件运行
- 在我的应用程序中侦听 iexplorer 的关闭事件
- 将 python 嵌入我的应用程序时内存泄漏
- 当我释放由CFFI生成的DLL分配的char*时,为什么我的应用程序会崩溃