3
私はwxpythonウィンドウを作成しようとしています(ウインドウオブジェクトであるという意味でのウインドウのみ)。見えない。次に、ユーザーが「ウィンドウ」内(つまり画面上の任意の場所)をクリックしてドラッグできるようにしたいと考えています。wxpythonのSetTransparentは、不透明度が0に設定されているとユーザ入力を取得しません。
私がしようとすると、self.SetTransparent(0)
ユーザ入力はウィンドウによってキャプチャされません。
これは意図した動作ですか?
これは正しい方法ですか? 1
の不透明度は人間の目にとっては明らかに区別できませんが、なぜ私が完全に透明にすることができないのか不思議です。
は、ここに抜粋です:
import wx
class Frame(wx.Frame):
def __init__(self):
style = (wx.STAY_ON_TOP | wx.NO_BORDER)
wx.Frame.__init__(self, None, title="Invisible", style=style)
self.SetTransparent(0) # This doesn't work
#self.SetTransparent(1) # But this works fine
self.Bind(wx.EVT_KEY_UP, self.OnKeyPress)
def OnKeyPress(self, event):
"""quit if user press q or Esc"""
if event.GetKeyCode() == 27 or event.GetKeyCode() == ord('Q'): #27 is Esc
self.Close(force=True)
else:
event.Skip()
app = wx.App()
frm = Frame()
frm.ShowFullScreen(True)
app.MainLoop()
またはウィンドウには全くバックグラウンドではなく、完全に透明着色背景を与えていないの方法は何ですか?
あなたの質問に答えることとは関係ありませんが、そのようなコードにはどのような用途がありますか?私が考えることのできる唯一のことは、鍵ロガーか悪い設計のどちらかです。 –
画面の一部を切り抜いて選択してアップロードできるスクリーンショットツール。 [gyazo](http://gyazo.com/)を参照してください。 – Acorn
あなたはそうだと思っていますが、私はおそらく、プログラムを実行していることを明示するために、画面上に透明なレイヤーを表示しています。 – Acorn