2013-12-07 5 views
7

मेरे पास एक पूर्णस्क्रीन टिंकर पायथन एप्लिकेशन है जिसे माउस की आवश्यकता नहीं है - एक सरलीकृत संस्करण नीचे है। यह पूर्णस्क्रीन खुलता है और F1 दबाकर टेक्स्ट विजेट सक्रिय करता है।Tkinter में माउस पॉइंटर को छुपाने या अक्षम करने के लिए कैसे?

import Tkinter as tk 

class App(): 
    def __init__(self): 
     self.root = tk.Tk() 
     self.root.attributes('-fullscreen', True) 
     self.root.configure(background='red') 
     self.root.bind('<F1>', self.opennote) 
     self.root.bind('<F2>', self.closenote) 
     self.root.bind('<F3>', self.quit) 
     l = tk.Label(text="some text here") 
     l.pack() 
     self.root.mainloop() 

    def opennote(self, event): 
     self.n = tk.Text(self.root, background='blue') 
     self.n.pack() 

    def closenote(self, event): 
     self.n.destroy() 

    def quit(self, event): 
     self.root.destroy() 

App() 

लॉन्च होने पर, माउस पॉइंटर दिखाई नहीं दे रहा है। हालांकि, टेक्स्ट विजेट शुरू करने के बाद यह दिखाई देता है, और फिर रहता है (टेक्स्ट फ्रेम और बाकी स्क्रीन के बीच आकार बदल रहा है)।

मुझे माउस कर्सर को छिपाने के तरीके के बारे में कई लेख मिले (पैरामीटर में cursor='' का उपयोग करके) लेकिन मुझे कुछ भी नहीं मिला जो विजेट्स में माउस पॉइंटर के लिए काम करेगा।

क्या टिंकर में माउस पॉइंटर को पूरी तरह छिपाना (या अक्षम) करना संभव है?

(a question on how to set the mouse position मुझे इस कर्सर एक self.root.event_generate('<Motion>', warp=True, x=self.root.winfo_screenwidth(), y=self.root.winfo_screenheight()) जारी करके दूर स्थानांतरित करने में मदद की। यह एक समाधान नहीं है, लेकिन कम से कम सूचक स्क्रीन के बीच से एक के चेहरे पर कूद नहीं है)

उत्तर

4
निकटतम मैं आ सकता है

Frame बनाना और कर्सर को 'none' पर सेट करना है, लेकिन अभी भी कर्सर को छोड़ने और ऐप विंडो को फिर से दर्ज करने की आवश्यकता है, कम से कम मेरी मशीन (मैक ओएस एक्स मैवरिक्स) पर। हो सकता है कि किसी और को पता लगा सकते हैं कि कैसे कर्सर जब गायब हो जाने की आवेदन भार को गति प्रदान करने, लेकिन यहाँ कोड मैं अब तक है:

import Tkinter as tk 


class App(): 
    def __init__(self): 
     self.root = tk.Tk() 
     self.root.attributes('-fullscreen', True) 
     self.main_frame = tk.Frame(self.root) 
     self.main_frame.config(background='red', cursor='none') 
     self.main_frame.pack(fill=tk.BOTH, expand=tk.TRUE) 
     self.root.bind('<F1>', self.opennote) 
     self.root.bind('<F2>', self.closenote) 
     self.root.bind('<F3>', self.quit) 
     l = tk.Label(self.main_frame, text="some text here") 
     l.pack() 
     self.root.mainloop() 

    def opennote(self, event): 
     self.n = tk.Text(self.main_frame, background='blue') 
     self.n.pack() 

    def closenote(self, event): 
     self.n.destroy() 

    def quit(self, event): 
     self.root.destroy() 

App() 
16

मुझे लगता है,

root.config(cursor="none") काम करना चाहिए।

+0

विंडोज 10 और उबंटू 16 दोनों के तहत मेरे लिए काम किया – ChewToy

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