2013-08-23 6 views
7

मैं अंततः, टिंकर मॉड्यूल का उपयोग कर पाइथन के साथ "अजीब-आकार वाली विंडो" बनाने की कोशिश कर रहा हूं। लेकिन अब के लिए मैं बाल विगेट्स को पूरी तरह से दिखने के दौरान पृष्ठभूमि पारदर्शी बनाने में सक्षम होने के लिए बसूंगा।क्या Tkinter के साथ पारदर्शी खिड़कियां बनाने का कोई तरीका है?

मुझे पता है कि यह wxPython और कुछ अन्य मॉड्यूल के साथ किया जाता है, लेकिन मैं टिंकर की सीमाओं के बारे में पूछताछ कर रहा हूं।

क्या टिंकर एक स्पष्ट कैनवास या फ्रेम बना सकता है? क्या यह कैनवास या फ्रेम के बिना यूआई तत्वों को पैक कर सकता है? क्या व्यक्तिगत यूआई तत्व पारदर्शी हो सकते हैं?

क्या यह ज़ेड स्टैक में नीचे की किसी भी विंडो को प्रोसेस करने के लिए सिस्टम पर वापस माउस-क्लिक स्थानों को पास कर सकता है?

उत्तर

11

विकल्प root.attributes('-alpha', 0.1) इस मामले में एक पारदर्शी खिड़की

from Tkinter import * 
root = Tk() 
root.attributes('-alpha', 0.3) 
root.mainloop() 

हालांकि बनाने के लिए रूट पर भी विगेट्स पारदर्शिता प्राप्त कर लेंगे इस्तेमाल किया जा सकता। लिनक्स के लिए

अद्यतन (उबंटू पर परीक्षण किया गया)

ऊपर कोड लिनक्स मशीनों पर काम नहीं करता। यहां एक अद्यतन है जो लिनक्स पर काम करता है।

from tkinter import Tk # or(from Tkinter import Tk) on Python 2.x 
root = Tk() 
root.wait_visibility(root) 
root.wm_attributes('-alpha',0.3) 
root.mainloop() 

यह सुनिश्चित नहीं है कि यह विंडोज पर काम करता है या नहीं।

+2

यह लिनक्स w/python3-tk 3.4.3 –

+0

पर काम नहीं करता है। यद्यपि आपका उदाहरण काम करता है, ऐसा लगता है कि यह 'root.overrirectirect (True)' के साथ असंगत प्रतीत होता है; अगर मैं इसे 'wait_visibility' कॉल से पहले जोड़ता हूं, तो यह विंडो ब्लिंक का कारण बनता है (यह पूरी तरह से अपारदर्शी दिखाई देता है, और तुरंत पारदर्शी हो जाता है)। –

+1

'ओवरराइडिडायरेक्ट 'कॉल के बावजूद' विंडो ब्लिंक 'घटना मेरे लिए होती है। मुझे लगता है कि यह 'wait_visibility' का नतीजा है जो तब तक इंतजार कर रहा है जब तक विंडो' अल्फा 'विशेषता जोड़ने के लिए पूरी तरह से दिखाई देने के लिए पूरी तरह दिखाई दे, जिससे ब्लिंक हो। – oat

संबंधित मुद्दे

 संबंधित मुद्दे