【问题标题】:Non rectangular shape or transparent background tkinter or any other library python?非矩形或透明背景 tkinter 或任何其他库 python?
【发布时间】:2020-12-02 15:39:13
【问题描述】:

这是我的问题。我为我的项目开发了一个 tkinter GUI。但是我被 tkinter 限制所困。我开发了 python gui 来为红色表格创建一个虚拟视图,如下所示。该窗口没有任何边框或标题。它只是放在代码之外的图片背景上。

但是你可以看到它对我来说不够活泼。我希望它看起来像这样:

有没有办法在 tkinter 中做到这一点?我尝试了透明背景,但是在 Ubuntu 中,透明背景与可见对象是不可能的。此外,除了矩形之外,您不能制作不同的窗口形状。你有什么建议?我应该使用另一个库吗?我真的需要对此的专家意见。

Transparent background reference

Different window shape other than rectangle

我的环境:Ubuntu 16.04 Python 3.5.2

【问题讨论】:

  • 这能回答你的问题吗? How to make a tkinter window rounded?
  • @TheLizzard 问题是针对 Windows 的,您可以在 Windows 操作系统上解决它,但问题出在 Ubuntu 操作系统上。库因操作系统而异。
  • 我知道tkinter 试图在它支持的所有操作系统上保持一致。我的电脑上有 Ubuntu,我会在几个小时后查看它。
  • @TheLizzard 就像我说的,Windows 上的相同代码在 Ubuntu 上的运行方式不同。如果我没记错那就是问题所在。但我通过使用不同的库解决了它。 WxPython 更难使用,但它具有自定义窗口形状等功能。

标签: python-3.x user-interface tkinter background


【解决方案1】:

所以为了解决我的问题,我找到了一个 python 库 wxPython:

您可以查看它创建的此链接Wx non rectangular shape

它使用继承创建窗口。我尝试了选择的答案,它解决了我的问题。

顺便说一句,我尝试了 QTPython、Kivy、tkinter。他们都没有像 wxPython 这样的直接例子。

【讨论】:

    【解决方案2】:

    您无法专门更改 Tkinter 窗口的形状,但您可以创建 canvas 并设计自己的形状(然后如果需要,在此画布上添加按钮和标签)。

    您也可以查看 PyQt 或 Kivy,但如果您对 Tkinter 感到满意,请选择 Canvas。

    【讨论】:

    • 我检查了 PyQt 它不支持带有非反式对象的透明背景。 Kivy 可能对我正在检查它。我也知道我可以创建画布,但我不明白它将如何帮助我。画布将在一个矩形非透明窗口内,与我在第一张图片中的 gui 相同。
    • 我已经查过了。据我所知 wxPython 可以做到这一点,我会尝试并给出答案。
    猜你喜欢
    • 2021-03-11
    • 2013-04-17
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 2012-07-29
    • 2018-06-09
    相关资源
    最近更新 更多