我更喜欢 Tkinter,但是可以轻松执行以下操作的最佳 UI 库是什么:
透明意味着看透整个窗口
- 透明背景
- 无边界
- 文本框的透明背景(带有滚动条),但仍显示文本
- 更改滚动条的外观
- 更改输入框的外观
在 python 库中所有这些都可能吗?我使用的是 Windows 7 和 python 2.7(如果库在 3 中,那么我将在 3 中对其进行编码)。
您能否还提供链接/示例来显示如何在图书馆中进行操作?
我更喜欢 Tkinter,但是可以轻松执行以下操作的最佳 UI 库是什么:
透明意味着看透整个窗口
在 python 库中所有这些都可能吗?我使用的是 Windows 7 和 python 2.7(如果库在 3 中,那么我将在 3 中对其进行编码)。
您能否还提供链接/示例来显示如何在图书馆中进行操作?
Tkinter 在美学方面非常有限,但它绝对可以完成工作
你可以试试pythonwx,它在美学上更令人愉悦,并且比Tk可以做的更多编辑:看起来wx可以制作透明窗口
如果通过透明,您的意思是您可以看到窗口后面的内容,这可能很难用任何 python 库做
虽然大多数人不认为 pygame 是一个用户界面库,但我用它来构建像这个天气应用程序一样漂亮的 GUI!它看起来非常好,但是由于 pygame 不是用来构建 gui 的,所以它有点复杂并且需要更多的代码
你也应该看看Pyside我没用过但我听说它很好也看看pyGTK
我不确定这些建议是否可以满足您的所有要求,但请查看所有建议然后再决定
希望这可以帮助!
您可以使用wxPython设置框架的透明度。你只需要使用这个wx.Frame.SetTransparent()
方法,它接受一个从 0(完全透明)到 255(完全不透明)的参数。
您可以在这里获得 Python 2.7 的 wxPython ,或者您可以在这里获得 Python 3.x 的构建版本。
这是一个代码片段和一个屏幕截图,用于查看包含文本框、标签和按钮的框架在 alpha 设置为 200 的情况下,在我的文本编辑器前面,其中包含一些文本。
import wx
class TransparentFrame(wx.Frame):
''' Transparent Frame '''
DEFAULT_ALPHA = 200
DEFAULT_SIZE = (400, 200)
TEXTCTRL_SIZE = (200, 100)
def __init__(self, size=DEFAULT_SIZE, *args, **kwargs):
wx.Frame.__init__(self, None, size=size, title='This is my title', *args, **kwargs)
# This is all you need to make the window transparent.
self.SetTransparent(self.DEFAULT_ALPHA)
label = wx.StaticText(self, label= 'Here is a label: ')
text = wx.TextCtrl(self, style=wx.TE_MULTILINE, size=self.TEXTCTRL_SIZE)
text.WriteText('Fill the box with text!\n' * 10)
button = wx.Button(self, label='This is a button')
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.AddMany([label, text, button])
self.SetSizer(sizer)
if __name__ == '__main__':
app = wx.App(False)
frame = TransparentFrame()
frame.Show()
app.MainLoop()