2010-07-05 12 views
7

में संवाद से टेक्स्ट का चयन और प्रतिलिपि बनाएँ मेरे पास एक wxPython ऐप है, और इस ऐप में, मैं विभिन्न फ्रेम से टेक्स्ट का चयन और प्रतिलिपि बना सकता हूं, लेकिन मैं संवाद से ऐसा नहीं कर सकता। क्या इसे करने का कोई तरीका है?WxPython

मुझे समझ में आता है कि मैं शायद संवाद में किसी प्रकार का टेक्स्टकूट डालकर ऐसा कर सकता हूं, लेकिन मैं इसे मानक दिखने वाले संवाद से ऐसा करने में सक्षम होना चाहता हूं।

संपादित करें:

क्षमा करें, मुझे और अधिक विशिष्ट होना चाहिए था। मैं wx.MessageBox से टेक्स्ट का चयन नहीं कर सकता। विंडोज विस्टा या मैक के तहत मैसेजबॉक्स (कोशिश करने के लिए लिनक्स तक पहुंच नहीं है)। संदेश बॉक्स बनाने के लिए कॉल का एक उदाहरण यहां दिया गया है:

wx.MessageBox(str(msg), "Could not load ballots", wx.OK|wx.ICON_ERROR) 

मैं संदेश बॉक्स का टेक्स्ट चुनने में असमर्थ हूं।

+1

यह स्पष्ट नहीं है कि जब आप "विभिन्न फ्रेम से टेक्स्ट कॉपी करें" कहें तो इसका मतलब क्या है, उदाहरण के लिए, जब मैं डेमो चलाता हूं (लिनक्स का उपयोग करके) मैं पोस्ट बॉक्स को संदेश बॉक्स में या बॉक्स के बारे में कॉपी कर सकता हूं , जो दोनों संवाद हैं, और प्रतिलिपि दूसरे प्रोग्राम में पेस्ट करें। आप किस पाठ की प्रतिलिपि बनाने की कोशिश कर रहे हैं? – tom10

+2

भले ही आप विंडोज पर पाठ को हाइलाइट नहीं कर सकते हैं, फिर भी आप क्लिपबोर्ड पर संवाद की पूरी सामग्री की प्रतिलिपि बनाने के लिए Ctrl-C दबा सकते हैं। यदि आपको इससे अधिक विशिष्ट कुछ चाहिए, तो आपको शायद उसी उपस्थिति के साथ एक कस्टम संवाद बनाना होगा। wx.MessageBox प्लेटफ़ॉर्म के मूल संदेश बॉक्स फ़ंक्शन पर सिर्फ एक कॉल है। –

उत्तर

5

तुम इतनी तरह एक कस्टम MessageBox करते हैं, तो जब तक आप पाठ पर क्लिक करें स्थिर पाठ होने के लिए दिखाई देगा:

class MessageBox(wx.Dialog): 
    def __init__(self, parent, title): 
     wx.Dialog.__init__(self, parent, title=title) 
     text = wx.TextCtrl(self, style=wx.TE_READONLY|wx.BORDER_NONE) 
     text.SetValue("Hi hi hi") 
     text.SetBackgroundColour(wx.SystemSettings.GetColour(4)) 
     self.ShowModal() 
     self.Destroy() 

मैं केवल खिड़कियों पर यह परीक्षण किया है, तो आप रंग समायोजित करने के लिए हो सकता है आपके ओएस के लिए

+0

'text.SetBackgroundColour (self.GetBackgroundColour()) शायद एक बेहतर फिट है। – Pod