Right- this is what Thiago meant in his reply to my original posting. And verified on Mac OS X: before posting, I tried QApplication::mouseButtons() to detect the mouse state, and got false information. The mouse events that drive the resizing aren't getting to Qt at all.
Well, then again, putting a breakpoint in my resize handler, I see this: 0 grafRec::doResizeEvent GrafRecImplementation.cpp 966 0x1011b0247 1 wDataClass::baseDoResizeEvent WM_WinClasses.cpp 1803 0x1010b5f40 2 IgorWindowWdPContentArea::resizeEvent IgorWindowContentArea.cpp 205 0x100a724a6 3 QWidget::event qwidget.cpp 8541 0x108547e4f 4 IgorWindowWdPContentArea::event IgorWindowContentArea.cpp 181 0x100a73225 5 QApplicationPrivate::notify_helper qapplication.cpp 4562 0x1084d520f 6 QApplication::notify qapplication.cpp 4527 0x1084d85f5 7 IgorAppObject::notify IgorAppObject.cpp 537 0x100a48d4d 8 QCoreApplication::notifyInternal qcoreapplication.cpp 949 0x109aefa2a 9 QCoreApplication::sendEvent qcoreapplication.h 231 0x10003be39 10 QWidgetPrivate::setGeometry_sys_helper qwidget_mac.mm 4624 0x10844af89 11 QWidgetPrivate::setGeometry_sys qwidget_mac.mm 4556 0x10844b7c8 12 QWidget::setGeometry qwidget.cpp 6974 0x108543a71 13 QWidget::setGeometry qwidget.h 1018 0x1085141ba 14 QWidgetItem::setGeometry qlayoutitem.cpp 490 0x108517855 15 QGridBox::setGeometry qgridlayout.cpp 85 0x1085093ae 16 QGridLayoutPrivate::distribute qgridlayout.cpp 964 0x108507411 17 QGridLayout::setGeometry qgridlayout.cpp 1460 0x108507534 18 QLayoutPrivate::doResize qlayout.cpp 679 0x108513721 19 QLayout::widgetEvent qlayout.cpp 703 0x108513dc9 20 QApplicationPrivate::notify_helper qapplication.cpp 4553 0x1084d51d9 21 QApplication::notify qapplication.cpp 4527 0x1084d85f5 22 IgorAppObject::notify IgorAppObject.cpp 537 0x100a48d4d 23 QCoreApplication::notifyInternal qcoreapplication.cpp 949 0x109aefa2a 24 QCoreApplication::sendSpontaneousEvent qcoreapplication.h 234 0x10843d6cf 25 qt_sendSpontaneousEvent qapplication.cpp 5560 0x1084d4770 26 -[QCocoaWindowDelegate syncSizeForWidget:toSize:fromSize:] qcocoawindowdelegate_mac.mm 139 0x10845d1bd 27 -[QCocoaWindowDelegate windowDidResize:] qcocoawindowdelegate_mac.mm 219 0x10845cd68 28 _nsnote_callback 0x7fff868e6ad5 29 __CFXNotificationPost 0x7fff88f6cfd0 30 _CFXNotificationPostNotification 0x7fff88f59548 31 -[NSNotificationCenter postNotificationName:object:userInfo:] 0x7fff868dda36 32 -[NSWindow _setFrameCommon:display:stashSize:] 0x7fff807d284a 33 -[NSTitledFrame resizeWithEvent:] 0x7fff80d79845 34 -[NSTitledFrame mouseDown:] 0x7fff809ec255 35 -[NSThemeFrame mouseDown:] 0x7fff809ec1bb 36 -[NSWindow sendEvent:] 0x7fff808ea3a7 37 -[QCocoaWindow sendEvent:] qcocoasharedwindowmethods_mac_p.h 183 0x10845a01b 38 -[NSApplication sendEvent:] 0x7fff8081fafa 39 -[QNSApplication sendEvent:] qcocoaapplication_mac.mm 186 0x1084604b7 40 -[NSApplication run] 0x7fff807b66de 41 QEventDispatcherMac::processEvents qeventdispatcher_mac.mm 615 0x10846d37a 42 QEventLoop::processEvents qeventloop.cpp 149 0x109aec3ca 43 QEventLoop::exec qeventloop.cpp 204 0x109aec61c 44 QCoreApplication::exec qcoreapplication.cpp 1221 0x109af03a0 45 QApplication::exec qapplication.cpp 3823 0x1084d8630 46 main IgorQtMain.cpp 497 0x101f0fd77 The lines at 39 and 37 are Qt code where the NSEvent type is 1, a mouse-down event. So Qt does have the information, but chooses not to use it. I haven't looked at Windows, and we're not yet in a position to look at Linux, so I don't know how it works there. I was looking at writing a bit of Cocoa code (yuck) to catch NSWindowWillStartLiveResizeNotification and NSWindowDidEndLiveResizeNotification, but a QTimer would be easier. The square brackets are in the right places, and it works on Windows, too. On 24-Feb-2014, at 5:50 PM, Jason H wrote: > The problem is the window resize does not come from the application, it comes > from the OS/Window Manager. > > > From: "william.croc...@analog.com" <william.croc...@analog.com> > To: interest@qt-project.org > Sent: Monday, February 24, 2014 8:46 PM > Subject: Re: [Interest] Finished resizing a window? > > > > > > We have windows in our application that are potentially expensive to > > repaint, so > > when the user resizes a window we may need to put off repainting until the > > resizing is finished. It seems that we don't get mouse down/mouse up events > > when > > the user clicks in the window frame/resize grip area, so I can't wait until > > mouse up. > > > > Could you use this to watch for (then paint on) the mouse release? > > Qt::MouseButtons QApplication::mouseButtons() [static] > > Bill > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -John
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest