[PySide] how to suppress qwidget's drop shadow under windows?

Tony Barbieri greatrgb at gmail.com
Sat Jul 12 04:28:51 CEST 2014

Hey Frank,

Checkout this page: http://qt-project.org/doc/qt-4.8/qt.html

Here is the description for those two flags:

Qt::Popup0x00000008 | WindowIndicates 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::Tool0x0000000a | WindowIndicates 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
> 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 <frank at 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 at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/pyside
>  --
> Tony

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20140711/4558aa6f/attachment.html>

More information about the PySide mailing list