Thanks Tony,
that sounds way more sensible than my approach.
I will try this and report back.
Cheers,
frank
On 18/02/16 4:59 pm, Tony Rietwyk wrote:
Hi Frank - sorry for replying to you directly before!
Have you looked at event filtering? A derived QObject can monitor,
and supress events going to another QObject - including windows. So:
- when the hot key occurs, you installEventFilter on the current window,
- if KeyPress Esc, then cancel,
- if MousePress, then record start pos,
- if MouseMove, then record the end pos
- if MouseRelease, then record the end pos and finish
When you finish or cancel, removeEventFilter. While active, you
always suppress the event to stop if going to the target window.
Hope that helps,
Tony
*From:*Frank Rueter | OHUfx [mailto:fr...@ohufx.com]
*Sent:* Thursday, 18 February 2016 2:21 PM
*To:* Tony Rietwyk
*Cc:* interest@qt-project.org
*Subject:* Re: [Interest] QApplication.activeWindow().pos() not
returning correct value after sacling on OSX
Hi Tony,
sorry, let me clarify:
QT's co-oridnate system starts at the top left, right?
So when I scale the window by dragging the left side (or the top), the
point of origin changes and thus I expect a different global position
for the widget.
The reason I am tying to determine the exact geometry of the parent
application is because I am trying to implement something like an
invisible slider, a mode where the use can click+drag anywhere in the
host application to change a certain value. Upon release the mode
disables itself until a hotkey is pressed again.
E.g. if the host application is a video player, I am trying to
implement a mode where the user can hit a hotkey, then click&drag
anywhere in the player to scrub through the video.
I'm sure there are better ways to go about this (and I'd love to hear
advise on this), but at the moment, as a proof of concept, I am
creating a transparent widget that catches the mouse event and emits
the required signal, and I'd like for that widget to perfectly sit on
top of the parent app so if the user click/drags outside of it, it
won't have any effect.
Ideally I'd just force the mouse event to my QObject rather than
create an transparent widget, but I don't know if this is possible?
Does that make sense?
Cheers,
frank
On 18/02/16 3:59 pm, Tony Rietwyk wrote:
Hi Frank,
I don't understand what you are asking! Why do you expect that
changing the window size will change the position? You say
'resulting in an offset for my widget' - sounds like you are
adding the new pos instead of just using it?
Tracking foreign native windows is pretty rare. You need to
provide a cut-down version of what you are doing so others can
easily run it.
Regards,
Tony
*From:*Interest
[mailto:interest-bounces+tony=rightsoft.com...@qt-project.org] *On
Behalf Of *Frank Rueter | OHUfx
*Sent:* Thursday, 18 February 2016 8:14 AM
*To:* interest@qt-project.org <mailto:interest@qt-project.org>
*Subject:* Re: [Interest] QApplication.activeWindow().pos() not
returning correct value after sacling on OSX
anybody?
is this a bug?
On 16/02/16 12:21 pm, Frank Rueter | OHUfx wrote:
Hi,
I am trying to figure out my host application's window
geometry reliably and am struggling a bit.
I use QApplication.activeWindow().geometry() to drive my
custom widget's geometry (I need to sit exactly on top of the
host application).
All works fine and my widget sits exactly on top of the host
application window, until the host app is scaled by dragging
one of it's sides out or in. After that
QApplication.activeWindow().geometry() still returns the same
exact position, though the size is correct, resulting in an
offset for my widget.
Turns out scaling windows on OSX by dragging their edges
doesn't seem to update QApplication.activeWindow().pos()
As soon as I grab the title bar and move the host app a tiny
bit, QApplication.activeWindow().pos() seems to be updated
correctly.
Is there a fix/workaround for this?
Cheers,
frank
--
ohufxLogo 50x50 <http://www.ohufx.com>
*vfx compositing <http://ohufx.com/index.php/vfx-compositing>
| **workflow customisation and consulting
<http://ohufx.com/index.php/vfx-customising> *
_______________________________________________
Interest mailing list
Interest@qt-project.org <mailto:Interest@qt-project.org>
http://lists.qt-project.org/mailman/listinfo/interest
--
ohufxLogo 50x50 <http://www.ohufx.com>
*vfx compositing <http://ohufx.com/index.php/vfx-compositing> |
**workflow customisation and consulting
<http://ohufx.com/index.php/vfx-customising> *
--
ohufxLogo 50x50 <http://www.ohufx.com>
*vfx compositing <http://ohufx.com/index.php/vfx-compositing>**|
**workflow customisation and consulting
<http://ohufx.com/index.php/vfx-customising> *
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
--
ohufxLogo 50x50 <http://www.ohufx.com> *vfx compositing
<http://ohufx.com/index.php/vfx-compositing> | *workflow customisation
and consulting <http://ohufx.com/index.php/vfx-customising>* *
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest