ボタン、ラベル、テキストボックスなどを持つGUIがあり、デスクトップのように背景画像(エルヴィスの顔など)に配置したかったのです。テキストボックスとラベルがイメージをブロックしないようにしたいと思いますが、テキストはイメージ上にあり、イメージは完全に表示されたままです。助言がありますか?tkinterで背景画像を設定する
0
A
答えて
1
OK、いくつかの注意点があるので、私はこの作業を行いました。まず、私はまだスタイルを高速化していないので、ttkウィジェットで動作させるよう心がけていませんでした。第二に、私はこれがWindowsで動作し、他のプラットフォームではうまく動作しないことは間違いないことを知っています。すべてのことを言っているが、トリックは、あなたのイメージの上に(Windows Tkで明らかに可能性があります)透明な色を持つように構成し、オーバーレイにウィジェットを配置し、あなたの透明な色の背景(私のコードのtrans_color)。また、ルートの<Configure>
イベントをトラップして、オーバーレイを維持します。画像については、あなたのプロフィール画像を右クリックしてディスクに保存しました(spice.pngという名前)。
from Tkinter import *
#from ttk import *
from PIL import Image, ImageTk
trans_color = '#FFFFFE'
root = Tk()
img = ImageTk.PhotoImage(Image.open('spice.png'))
img_label = Label(root, image=img)
img_label.pack()
img_label.img = img # PIL says we need to keep a ref so it doesn't get GCed
root.update()
overlay = Toplevel(root)
print 'root.geo=', root.geometry()
geo = '{}x{}+{}+{}'.format(root.winfo_width(), root.winfo_height(),
root.winfo_rootx(), root.winfo_rooty())
print 'geo=',geo
overlay.geometry(geo)
overlay.overrideredirect(1)
overlay.wm_attributes('-transparent', trans_color)
overlay.config(background=trans_color)
lbl = Label(overlay, text='LABEL')
lbl.config(background=trans_color)
lbl.pack()
def moved(e):
geo = '{}x{}+{}+{}'.format(root.winfo_width(), root.winfo_height(),
root.winfo_rootx(), root.winfo_rooty())
overlay.geometry(geo)
root.bind('<Configure>', moved)
root.mainloop()
関連する問題
- 1. Tkinterカスタム背景画像
- 2. 背景画像を設定する
- 3. 画像を背景に設定する
- 4. ピッカーの背景画像を設定
- 5. jQuery CSSが背景に背景画像を設定した後:
- 6. UIButton:画像ビューの背景を設定する(画像を設定しない)
- 7. HTML - 設定した背景画像
- 8. 、設定された背景画像
- 9. 別の背景画像の背後に背景を設定するには?
- 10. Android:アクティビティで背景色と半透明の背景画像を設定する
- 11. 背景画像カルーセルの背景画像
- 12. 背景画像上の背景画像
- 13. 画像のblured画像を背景に設定したい
- 14. アンドロイドアプリケーションで画像を背景として設定する
- 15. Androidでmdpi、ldpi、hdpiの背景画像を設定する
- 16. Codeigniterで背景画像(jquery)を設定するには
- 17. divと背景の代替画像をCSSで設定する
- 18. ヤフーのメールで背景画像を設定する問題
- 19. イオンスライドで画像を背景に設定する
- 20. シーソーでパネルの背景の画像を設定するには?
- 21. AndroidでWebviewの背景画像を設定する
- 22. 画像をパイソンの背景にタートルモジュールで設定する
- 23. JFrameで背景画像を設定する
- 24. ucブラウザで背景画像の高さを設定する
- 25. 背景画像をCSSで設定する
- 26. BrowserActionで背景画像を設定する
- 27. コードネーム1のフォームにプログラムで背景画像を設定する
- 28. IrfanViewで透明な画像の背景を設定する
- 29. CSS:画像なしの代替背景画像の設定
- 30. Wordpressで投稿画像を背景画像として設定するには