Advertisement
here2share

# Tk_opacity.py

Nov 26th, 2019
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.18 KB | None | 0 0
  1. # Tk_opacity.py
  2.  
  3. # explore Tkinter opacity
  4. # show image without root title or root border
  5. # you have to add a way to exit, like mouse double click
  6. try:
  7.     # Python2
  8.     from Tkinter import *
  9. except ImportError:
  10.     # Python3
  11.     from tkinter import *
  12. def exit(event=None):
  13.     root.destroy()
  14. root = Tk()
  15.  
  16. import base64
  17. import os
  18. from cStringIO import StringIO
  19. from PIL import ImageTk, Image
  20.  
  21. py_gif_b64='''\
  22. R0lGODlhQABAAPcAAAAAAAAPMwAXNwAaOAAYQwAbQQAdQQAbTwAeSwAWUQMmQgAjSwEnSwYuTwoo
  23. SggtSAwrSAAlVAAgWQAmWAAqVgAuVwAuXQcuWAw1TQs5Xhk0SQAsYwAxZAA1YQA0bAA6bAA/dyw/
  24. UAxAbgxGeh5BYRxHbRRKdBRNfi5IXC5OaCJQdCNUfzdTajlQYj1UaTJWdDZge0BXaUZZaE1dakJa
  25. cEBffElhc0lieUlmfU9leQZJgBRVjB5bjypehzNXhzFbgTlchiZjljhkhzRplixtozNwozF1qzp4
  26. q0BehERmhENli0dshUZvjktylk1wkE92kltvgVBwiVp1g1lyiVl1il95j1B3l1V3klh6lmB2iWt7
  27. lUWDuUaIvEqCskmGul6Col2FqVSLtVONvVqMtl+NsWaInmmAlGyGnHOGlHGHmXGKnnqJk3mMm3uR
  28. lX2Qn2SGpmqIoW+Pp2yOrGeRuXGLoneOoHaPo3STp3eSrXyRonWZuX2gvmOWwW2aw2meynOfwnGh
  29. yXuhw3yly3iqz3ypz3Sl0HCp1pt+Ha6ED6SAE6yDGqeRF7OEBbqTCriTFr6fEKyJLaODMKWWJqWS
  30. M7WTI7aWN62iJrqlKrekOJiOR5uRTKSTRqaXVa2bV7mZR7mdVKmeZ62da62ec7Cfd7ujRrCmXrGt
  31. W7yoWq6jaqyicbWga7OpbbqpbbSrebmueMGXC8SaFcSZJcOcNcqjGtSoHc2pJ8yrOcG1P9iuKdG4
  32. LdC5PtmwPNq5MN29PcurScqtWtG8S9uwS9G8X921Xsmvbc2yd9C9cN/AUNHAfeHKRePMUuDDYOTP
  33. ZODFcubPdOLIfoKPmIGZq4qcrIGasYedsYOgs4eiv5euvoSjwIapx4KozYSrzI6wzoaw1Iux1Y+1
  34. 1oq12JSyz5K00Ji305i72qC706C92Z3B3JnA4aTC26vF3KXI5K/Q6s/CjtTOgdvGjtLHmtPNltTP
  35. odTQreXRgunXk+nZp+/ki+zimu/lqQAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAABAAEAA
  36. AAj/AP8JHEiwoEGB16qdiVMmzh1p1KhNi1bnzBk809Ic3MixI0czNKhUK5du3bl06cqpVGlOnTpz
  37. 5M60cOOxps2BaSDI+faNGzdx38B92zYunE+f4cQdNTdFg52bUA+mMTCHULdAe7JtA1SIkCBtgsIS
  38. 8hookLay274I0Bi17b8GFgqN+XFmWpQvgPj48ZNXr19Affj0yetHhQK3UeEs+CBGBbSBV4SImSyG
  39. Dx/KYsLwGZN5cpcAZhDflENgAgG2AxEE2SJmi+stXMQc6UK7y5HbRwgcFl3zzYTfjwl2kLCDyBYj
  40. Ro4kx32EyG0iQwoEyMPbo5XfE1ALnODBwwcdO8IH/9kRpHx5HkF6iCAQAEP1jlh+W4AR/N+ZCRs+
  41. 6Peuvz//Dx2Yxp577230hQUfnCACGNhY84YIGXwgggggiKBfB/oh6MEEFkRAwIcCEFigQW+ssEIQ
  42. K4jgww8liGDiixNeiOAH+VGwwAIftjfiQXGUMEQRQwzxYnpDCCFkihd+YAEHHFhgwQQIgCjijgPF
  43. QcILLwjxgwo9/PCCl1i+oIIJImA4o5MdQklAiFQWBA0ba8S5RhppoNEGGmiwkQYdU2DIJJpoYkfA
  44. AFO2CVUaC8gHYAdocvDboIW6NcUUL6DQggssXMrCppyG6SmWKpSG4AQdMFoBBRQ8GcEC7qWCCies
  45. oP8CCiquhOLRFBgIoIQe5KCUjjnnoIMOT910sw0hgCRr2RhkdDGECE9y4J2Tp1KwqgLucWIMPdzW
  46. Q487nIDC0QsFMCAOOy+xRI43xnaDbF+XieHFbLiNwKGSS6JZwbXuZYJMPQADzO0pmxz0wod9oDPO
  47. UdgEIgi8Y4xBG25FmMfDDiMw2eSSFjJqQQULYPuPJr9wazI9zjATCScFTVHaBoYM8kcgllnW2sRH
  48. BHneCico2F8ESl4A4YQQZsDoBQ70SwozzjTdDDPLLGPLIZ0QtIAEEnhAWRiyKUcEEUHw0PMJI/gs
  49. 4YUZWJB2ixmUoIIIb0N4AQMP9CtJL8ooc8zex/T/Yksikww0xQQSJDBBcl+XdwIIIPynHwj6ES35
  50. hCaU4LYKKrz4dgYN1P3PJos80svoyfDCSy+xIHLIKQJlQDjWG4S3A+MfQP444yOIcIIJCpL5NubA
  51. Yw6DEEL44MMKJWSAAQZt/DOJI4/UYjouvMxCiyOMJML6FAUcAPsGHNB+du0jfMD7CS+mn/kKmP8g
  52. BAwwLMGEE0og8ULyywuECSWzzFILLrjo3ywawQhFbI8AB8AP+G4nIRGMoEI9S58QekC8ClpQCE/I
  53. IBawMIUaiIlzMPjHKSpxiVrUgha5oEX1ZvEKRiBiEqdw2W82wB/GiQ8EZTMRBS3IhB768AlNsIIV
  54. /56wQSxcYQkwUAEJRKABgQiDEiasRS5wQQtc1GIWsIAFIiJxCiHM8D82tF3ZeqACIwkhiFbwYQ8z
  55. aIUgGjGDTogC/FRQggtAQYSY8F8Ac8ELAPYvi46gxClOQMPu0C6M5jOBiYj3hCGq0YfEGwL9lJCE
  56. JRBvS5gjAQ0EcgooApB6VOQFLWjBQkcYsHGGPGTtGOeiMl7wBTD4VJiA8AIayJIEJKiDQJAxCUyY
  57. sI/ToyIps0iJYOyndo/rTwNfdEn44WAKVciCGbJATWpCAQpTgEIWpIBNLUhjIKzYxC+MIYwp9lGF
  58. n4QFFh2xC2UqU3wiUGQPViCEF+CAGvVxyyk4cf8KetwDH87YBQCr+EkrYhEWtVCmd2ynTDKZSAVq
  59. IIg84iGPilJUHvOoqEbj0Q55wMMVoHBFwOpxD2D0AoDBpGIWYeEIWVjIA+IbX39MYAISREMg8Qgn
  60. rJDRDnf4lKPtQIZQh2qMbQlMYM7wBSj7+MlRZjEWuzjBMR23qAll4AwCMcUkYIiPfOQDH2ANaz3w
  61. 4a2TmZVbzjhGQakoTFK+AhaxCEYQ3ImhUi2qVC/IqiUsoYx70ANg+OCWX9FqMmegrBnOaEbUoHYM
  62. gS51lG3FIiWG0Sd3fqB8F+rABaYgwklQ4hZMu0fTRsu0lDHjtFCL2jKOkbe99cKxbIXsQGnBUkj/
  63. ULYCyIyRVDvWARIIZBMl1AVqUZu34jKjuKztW99Gd9JPnpOgTSVmJSgbIQmdr2e5gxBnT4GJS+Qi
  64. GcVVRjLGC97xMve8vTAdU1MK3U/GgraviMUnWKeBDEwofSZSUAZigMdc8JG85k1Gek+X3gGrd3pM
  65. pR46P7kLgb4XFq+gBDEEgoMMjABz7xPC+uooAxHewr+88K+I+RhilFLvwCjmhUB30ccGB+PFDa5F
  66. LFgoSIFMwb4r6AEMmCCEJQDhB8izgYdHPGLTkZjA50Xy6HbB3Ab3IhjDUG0wdhGLLFaCICnAMAYz
  67. qKUgi1AXulDviHHBRz6el29oPsZqlxGMNUet/xmKXa0tYhGLGguOBItsAhO4zKIbfLl0ySjygUeX
  68. XGWodhlwfvOh4wxnxQ7DwZ8wyBRIAAQgCEEJPA5TDkQIDF0QedC6AK8yUDva0dIDsaOFc2IbLQxg
  69. zLkSrJM0Cl5AS0+hoMOnCHOIRYziXgBDzY1umsme8Qx6PAPOxCZ2o43xC19UghSxPgg0X5ACLLEA
  70. BSGYAac9zeteq9kYQw23uMVNjHKbmxjFiPZGJgWNdrv7Mbn+dIp38YtSrOLe+M53vlsxilbwuxWh
  71. GIWt3hNvXgM6pb5YhaH0yW0Q86J06jWhLU7BioqzwhWsUIXFK+4KUYxi4ZwEsxR7bbpZ4OIYwv82
  72. GcDeETB71OMdHwf5KTp95BQH8ORRUzOik31sYrNi4AsvuOkMPDpR/tGEo9OFL37BilOseRifALqh
  73. cq0L9J6Xeib841OXgW9S2GIXwYiE1Ns08zQnd7m9iOIVZxHXaJ/CE3SGRNVkDoxfH/e0x0ita/2G
  74. C1jQIhbNKAgx6FyJsVPpFOQ8bamdFucX2wIXdKZHQX5BiVh4Qt2GIoYwmHYyw6LMGTnfhQkp4Yto
  75. t6ISlJAF5qduDGYYw/NmPXbObWGLWlTiGac4xSpIkXpPgLwgyNhWsY9tbGKjNee6oH0lfvELT1Ri
  76. +auX+SmUzfNkN+PYwzgG7Xchi+57ghjR/70rCKfPc24pO87L8MUwfLH08It/ILkPqjEaTf9hFBX8
  77. 7n9/QXLP//73f0cBAQA7
  78. '''
  79.  
  80. f = StringIO(base64.decodestring(str(py_gif_b64)))
  81. image = Image.open(f)
  82.  
  83.  
  84. root.title("Tk_opacity")
  85. # only set x, y position of root
  86. x = 400
  87. y = 400
  88. root.geometry("+%d+%d" % (x, y))
  89. tkpi = ImageTk.PhotoImage(image)
  90.  
  91. # use opacity alpha values from 0.0 to 1.0
  92. # lower alpha is most transparent
  93. # opacity/transparency applies to image too
  94. root.wm_attributes('-alpha', 0.7)  
  95. # remove border from root window
  96. root.overrideredirect(1)
  97.  
  98. Label(root, image=tkpi).pack()
  99. # double click mouse on picture to exit
  100. root.bind('<Double-1>', exit)
  101. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement