I see. That makes sense.
Unfortunately the ActionChanged event is not triggered in all cases that
I need to hook into, so will keep investigating.
Cheers,
frank
On 12/07/14 1:59 PM, Tony Barbieri wrote:
Ah, maybe because in this example our QWidget is actually a top level
Window...
On Fri, Jul 11, 2014 at 11:30 PM, Frank Rueter | OHUfx
<fr...@ohufx.com <mailto:fr...@ohufx.com>> wrote:
Ah, thanks for confirming that.
Interestingly I don't get a WindowDeactivate event when I click
outside of the widget. I do get a ActionChanged event though, but
that doesn't sound right for this.
On 12/07/14 1:14 PM, Tony Barbieri wrote:
Btw, the shadow stuff is actually at the Windows level. You'd
have to do some pretty low level hacks to remove it from what I
understand. That or force everyone to turn off drop shadows in
their Windows theme :).
On Fri, Jul 11, 2014 at 11:13 PM, Tony Barbieri
<great...@gmail.com <mailto:great...@gmail.com>> wrote:
Yea, that is one downside. We worked around it by doing the
following:
|class ClosePopupFilter(QtCore.QObject):
def eventFilter(self, target, event):
if event.type() == QtCore.QEvent.WindowDeactivate:
target.close()
return False
class Popup(QtGui.QWidget):
def __init__(self, parent=None):
super(Popup, self).__init__(parent)
self.__popup_filter = ClosePopupFilter()
self.installEventFilter(self.__popup_filter)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint |
QtCore.Qt.WindowStaysOnTopHint |
QtCore.Qt.CustomizeWindowHint |
QtCore.Qt.Tool)
|
On Fri, Jul 11, 2014 at 10:51 PM, Frank Rueter | OHUfx
<fr...@ohufx.com <mailto:fr...@ohufx.com>> wrote:
Ah, thanks.
one issue I see the Qt.Tool flag is that it won't close
the widget when I click outside of it, something the
Qt.Popup flag does for me.
But I guess I can re-implement one of the event handles
to reproduce this behaviour. MIght be easier than hunting
down whatever would suppress the shadow in the default
palette.
Cheers,
frank
On 12/07/14 12:28 PM, Tony Barbieri wrote:
Hey Frank,
Checkout this page: http://qt-project.org/doc/qt-4.8/qt.html
Here is the description for those two flags:
Qt::Popup 0x00000008 | Window Indicates that the
widget is a pop-up top-level window, i.e. that it is
modal, but has a window system frame appropriate for
pop-up menus.
Qt::Tool 0x0000000a | Window Indicates that the widget
is a tool window. A tool window is often a small window
with a smaller than usual title bar and decoration,
typically used for collections of tool buttons. If there
is a parent, the tool window will always be kept on top
of it. If there isn't a parent, you may consider using
Qt::WindowStaysOnTopHint as well. If the window system
supports it, a tool window can be decorated with a
somewhat lighter frame. It can also be combined with
Qt::FramelessWindowHint.
Glad it helped!
Best,
On Fri, Jul 11, 2014 at 9:54 PM, Frank Rueter | OHUfx
<fr...@ohufx.com <mailto:fr...@ohufx.com>> wrote:
Great, that did in deed fix it, thanks so much!!
Can somebody explain what those two flags actually
try to do? I'm still finding it difficult to find
comprehensive documentation about flags in general.
Cheers,
frank
On 11/07/14 11:23 PM, Tony Barbieri wrote:
Hey Frank,
I'm pretty sure we use the QtCore.Qt.Tool flag
rather than the QtCore.Qt.Popup flag to deal with
removing the shadow. If that doesn't work I can
look deeper into how we've dealt with this.
Best,
On Thu, Jul 10, 2014 at 11:15 PM, Frank Rueter |
OHUfx <fr...@ohufx.com <mailto:fr...@ohufx.com>> wrote:
Hi all,
I was given some code that uses a QWidget,
makes it completely
transparent, then adds a custom paintEvent to
draw some custom items.
This is meant or a fancy right click menu.
Under OSX it ll looks swell,
but under windows I get the default drop
shadow, because of the
QtCore.Qt.Popup flag.
e.g.:
class MyMenu(PySide.QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground,
True)
self.setWindowFlags(QtCore.Qt.Popup |
QtCore.Qt.FramelessWindowHint)
w = MyMenu()
w = show()
What is the easiest way to turn off that off
(drop shadows for
transparent widgets just look irritating :-D )?
I guess I could inherit
from QMenu instead of QWidget but would expect
more work to get it to
it's current state and am not entirely sure if
that would fix the issue.
Any ideas?
Cheers,
frank
_______________________________________________
PySide mailing list
PySide@qt-project.org
<mailto:PySide@qt-project.org>
http://lists.qt-project.org/mailman/listinfo/pyside
--
Tony
--
Tony
--
Tony
--
Tony
--
Tony
_______________________________________________
PySide mailing list
PySide@qt-project.org
http://lists.qt-project.org/mailman/listinfo/pyside