【问题标题】:Drawing a semi-transparent window in wxwidgets在 wxwidgets 中绘制半透​​明窗口
【发布时间】:2012-01-06 16:25:40
【问题描述】:

我正在使用 wx 在 wxGLCanvas 上绘制一个信息窗口。我希望能够淡化该窗口,以便它与 OpenGL 渲染的图像混合。有没有办法做到这一点?

我试图不为重叠小部件绘制背景,但我只得到一个白色矩形。我也尝试使用 wxGraphicsContext,但没有成功。

我的下一个想法是在 MemoryDC 中绘制窗口并在 OpenGL 中合成图像,但这会阻止用户与窗口中的任何内容进行交互(至少通过常规方式)。任何提示将不胜感激。我正在使用 Windows 7 和 wxPython。

【问题讨论】:

    标签: wxpython wxwidgets alphablending


    【解决方案1】:

    wx.Frames 有一个 SetTransparent 方法,它可以接受 0-255 之间的值,其中 0 是完全透明的,而 255 是完全不透明的。我不确定这是否是你想要的,但如果是的话,这里有一个关于这个主题的教程:http://www.blog.pythonlibrary.org/2008/04/14/doing-a-fade-in-with-wxpython/

    【讨论】:

    • 谢谢,但这似乎只适用于顶级小部件。我想要的是子小部件是半透明的。也许我可以用顶级框架伪造一个子小部件,但这听起来是个坏主意。
    • 好吧,框架内的所有内容也将是透明的。无法选择哪些是透明的,哪些不透明。
    猜你喜欢
    • 2021-04-10
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2011-08-31
    • 2011-10-12
    • 2010-09-13
    相关资源
    最近更新 更多