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
_______________________________________________
PySide mailing list
PySide@qt-project.org
http://lists.qt-project.org/mailman/listinfo/pyside