https://bugreports.qt.io/browse/QTBUG-53315
> On May 10, 2016, at 11:51 AM, John Weeks <j...@wavemetrics.com> wrote: > > The very simple application posted below (it is a complete runnable example) > creates a window that puts up a menu on clicking in the window. If you select > "Open File..." it then puts up a QFileDialog to choose a file. Upon > returning, the window no longer appears to active. Experience with our real > application where we observe this behavior suggests that Qt thinks the window > is still active, but OS X does not. This causes other strange problems. > > Application works as expected on Windows. > > I am inclined to believe this is a Qt bug. But I would be interested to know > what others think, and if you might know of a work-around. > > Thanks! > > -John Weeks > > #include <QApplication> > #include <QMainWindow> > #include <QMouseEvent> > #include <QFileDialog> > #include <QString> > #include <QDebug> > #include <QMenu> > #include <QAction> > > class MainWindow : public QMainWindow > { > public: > explicit MainWindow(QWidget *parent = 0); > ~MainWindow(); > > protected: > void mouseReleaseEvent(QMouseEvent * event); > > private: > }; > > MainWindow::MainWindow(QWidget *parent) : > QMainWindow(parent) > { > } > > MainWindow::~MainWindow() > { > } > > void MainWindow::mouseReleaseEvent(QMouseEvent * event) > { > QMenu menu; > menu.addAction("Open File..."); > QAction * selectedAction = menu.exec(event->globalPos()); > > if (selectedAction) > { > QFileDialog::Options options = 0; > // options |= QFileDialog::DontUseNativeDialog; > QString fullQtPath = QFileDialog::getOpenFileName(NULL, > QStringLiteral("Dialog Caption"), QString(), QString(), nullptr, options); > qDebug() << fullQtPath; > } > } > > int main(int argc, char *argv[]) > { > QApplication a(argc, argv); > MainWindow w; > w.show(); > > return a.exec(); > } _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest