Есть такой виджет:
class MyLineFileEdit : public MyLineEdit
{
Q_OBJECT
public:
explicit MyLineFileEdit(QWidget *parent = 0);
QPushButton* dialogButton;
int widthButton; //ширина кнопки
QString fileName;
bool isNoFile();
signals:
public slots:
void setOpenFileName();
protected:
void resizeEvent ( QResizeEvent * event );
};
Создал для него делегат для QTableView.
в методе setOpenFileName() вызываю QFileDialog::getOpenFileName.
Если в диалоге выбрать файл и нажать ок или cancel, то все нормально.
Однако, если при открытом диалоге щелкнуть мышью по ДРУГОМУ приложению то КРАХ.
Сам по себе виджет на форме, т.е. без делегата эту ситуацию отрабатывает нормально, я могу что-то делать в других приложениях, а потом вернуться в диалог и завершить начатое. Но в случае с делегатом так не получается. Что не так?