【问题标题】:Is there a way to create non-bordered transparent windows in Python?有没有办法在 Python 中创建无边框透明窗口?
【发布时间】:2011-03-01 17:48:38
【问题描述】:

我正在尝试在 Python 中创建一个小部件样式的应用程序,并且我尝试过四处搜索,但我没有找到一个 GUI 工具包,它可以让您隐藏边框并移除窗口背景(完全透明,仅呈现内容)。

有没有具有以下功能的Python GUI 工具包?:

  • 没有窗口边框。
  • 完全透明的背景。
  • 非操作系统特定的 GUI 控件呈现(自定义位图、字体等)。
  • 事件检测(点击、键盘等)
  • 窗口管理(始终在顶部,窃取焦点等)

【问题讨论】:

  • 窗口边框和透明度由窗口管理器处理。我认为没有任何跨平台的方法可以删除它们(尽管我可能是错的)。你可以编写一个 KDE 等离子小部件,但对于一个小部件来说,这是一大堆包袱。
  • 窗口边框是由窗口管理器绘制的,但是有一个标准的方法来请求它们是否被绘制。如果没有,那么 GUI 工具包就不可能做一些像显示弹出菜单这样基本的事情!

标签: python user-interface widget


【解决方案1】:

是的,wxpython 可以做到这一点。查看演示应用程序中的 ShapedWindow 示例(可从下载页面获得)。

【讨论】:

    【解决方案2】:

    我已经有一段时间没有做过类似的事情了,但我认为大多数 GUI 工具包都允许您这样做。例如,GTK+ 有 Python 绑定,应该支持所有这些。

    Here's an example 使用 GTK+ 通过 GUI 控件绘制透明内容。

    我对它们的经验更少,但我认为 wxWidgets 和 Qt/KDE 具有相似的功能。

    【讨论】:

      猜你喜欢
      • 2013-08-26
      • 1970-01-01
      • 2021-03-01
      • 2014-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      相关资源
      最近更新 更多