0

私はTkinterを好むでしょうが、次のことを簡単に実行できる最高のUIライブラリは何ですか:

透明とは、窓全体が見えることを意味します

  • 透明な背景
  • 境界はない
  • テキスト ボックスの透明な背景 (スクロール バーを使用)、ただしテキストは表示
  • スクロールバーの見た目を変える
  • エントリーボックスの見た目を変える

これはすべてPythonライブラリで可能ですか? Windows 7 と python 2.7 を使用しています (ライブラリが 3 の場合は、3 でコーディングします)。

ライブラリでそれを行う方法を示すリンク/例も提供していただけますか?

4

2 に答える 2

1

wxPythonを使用して、フレームの透明度を設定できます。wx.Frame.SetTransparent()0 (完全に透明) から 255 (完全に不透明) までの引数を取るメソッド を使用するだけです。

ここでPython 2.7 用の wxPython を入手するか、ここで Python 3.x 用のビルドを入手できます。

これは、テキスト ボックス、ラベル、およびボタンを含むフレームがアルファ 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()

テキスト エディター上の透明なフレーム

于 2013-07-27T16:43:10.993 に答える