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

Frank Rueter | OHUfx frank at ohufx.com
Sat Jul 12 04:51:56 CEST 2014


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 <frank at ohufx.com 
> <mailto:frank at 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
>>     <frank at ohufx.com <mailto: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 <mailto:PySide at qt-project.org>
>>         http://lists.qt-project.org/mailman/listinfo/pyside
>>
>>
>>
>>
>>     -- 
>>     Tony
>
>
>
>
> -- 
> Tony

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20140712/3ee2e15b/attachment.html>


More information about the PySide mailing list