Qt程序崩溃而没有消息

时间:2016-04-18 17:27:53

标签: c++ qt

我有以下代码;

void MainWindow::saveFile()
{
    Editor *editor = dynamic_cast<Editor*>(tabWindow->currentWidget());
    QFileInfo *fileInfo = editor->getFileInformation();
    QString fullFileName = fileInfo->absoluteFilePath();
    QFile file(fullFileName);
    file.open(QIODevice::ReadWrite);
    QString text = editor->toPlainText();

    file.write(QByteArray::fromStdString(text.toStdString()));
    file.close();
}

当通过以下部分连接时;

connect(save, &QAction::triggered, this, &MainWindow::saveFile);

程序在调用事件时崩溃。如果禁用连接,程序运行正常。经过几次,我无法分辨出问题是什么。我在Windows 10和Ubuntu 15.10上尝试过它并且遇到了完全相同的问题。我做错了什么?

save在头文件中声明为;

QAction *save = nullptr;

然后在与saveFile()函数相同的文件中定义为;

save = new QAction(tr("Save"), this);
save->setShortcut(QKeySequence(tr("Ctrl+S")));
fileMenu->addAction(save);
connect(save, &QAction::triggered, this, &MainWindow::saveFile);

0 个答案:

没有答案