先决条件:
我有一个自定义 QItemDelegate ,它为树视图项目创建自定义编辑器。编辑器由 QLineEdit 和 QToolButton 组成。该按钮用于打开文件对话框以选择文件并将其路径放入行编辑中。我使用对 QFileDialog::getOpenFileName 的调用来打开文件对话框。该对话框是本机 Windows 文件对话框(这很重要)。
第一次创建编辑器时,无论我多久按下该按钮,一切正常。但是在编辑器关闭并再次重新打开后,第一次按下按钮会导致崩溃。崩溃的原因是我的自定义编辑器最终被删除。
这是一些代码:
void CCustomEditor::on_RunSetupBtn_clicked()
{
auto qFilename = QFileDialog::getOpenFileName(this,
"Select application to run",
QString(),
"Executable files (*.exe)");
if (qFilename.isEmpty())
return;
SetCommandLine(QDir::toNativeSeparators(qFilename), m_qParameters);
}