[PySide] how to suppress qwidget's drop shadow under windows?
greatrgb at gmail.com
Sat Jul 12 05:13:08 CEST 2014
Yea, that is one downside. We worked around it by doing the following:
def eventFilter(self, target, event):
if event.type() == QtCore.QEvent.WindowDeactivate:
def __init__(self, parent=None):
self.__popup_filter = ClosePopupFilter()
On Fri, Jul 11, 2014 at 10:51 PM, Frank Rueter | OHUfx <frank at ohufx.com>
> 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.
> 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!
> On Fri, Jul 11, 2014 at 9:54 PM, Frank Rueter | OHUfx <frank at ohufx.com>
>> 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
>> 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.
>> On Thu, Jul 10, 2014 at 11:15 PM, Frank Rueter | OHUfx <frank at ohufx.com>
>>> 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.
>>> class MyMenu(PySide.QtGui.QWidget):
>>> def __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?
>>> PySide mailing list
>>> PySide at qt-project.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the PySide