[Interest] QActions not moved to application menu properly

Ben Haller bhaller at mac.com
Tue Sep 22 21:17:22 CEST 2020


You are a good guesser, Sean!

I tried commenting out the call I make to:

    setAttribute(Qt::WA_DeleteOnClose);

when I’m setting up my main windows.  With that commented out, things work fine.  I’m leaking the document window and everything it owns, of course, so that isn’t great; but it works.  So perhaps I can make a minimal document window at startup, which I never show, just to make Qt happy.

The other quirk I’ve just noticed is that even *without* commenting out that call, there is a usage pattern where everything works, and a different usage pattern where it doesn’t.  In my testing, I had been following the pattern that doesn’t work.  In summary:

WORKS: pressing command-W to trigger my Close menu item, which just calls close() on the active window; my guess is that something about the processing of the shortcut, or a different order of operations internally, makes this usage pattern work properly.  The Quit menu item, etc., appear after the window is closed.

DOESN’T WORK: closing the active window by clicking its title bar close button instead.  The Quit menu item, etc., just vanish.

If there were something about the usage pattern that works that I could trigger in the case of the usage pattern that doesn’t work, perhaps that would constitute a workaround.  However, Sean’s idea presently appears that it will provide a workaround too, so I’ll try that first.

Thanks Sean!

Cheers,
-B.

Benjamin C. Haller
Messer Lab
Cornell University


> On Sep 22, 2020, at 2:56 PM, Murphy, Sean <smurphy at walbro.com> wrote:
> 
> I'm not on a Mac right now, so I can't try this, so I don’t know if this will work:
> 
> As each window (I assume these are QMainWindow, or at least inherit from 
> one) is closed, are you deleting them? If so, when you get to the last one, could 
> you hide it instead of deleting it? Or when you've deleted the last one, then 
> immediately create a new one and hide it?
> 
> My theory being that maybe for Qt to do it's Mac menu magic, there needs 
> to always be a QMainWindow present (but not necessarily shown)?
> 
> Just a total guess on my part...
> Sean
> 
> 
> This message has been scanned for malware by Forcepoint. www.forcepoint.com



More information about the Interest mailing list