2008-11-21 5 views
6

कैसे (यानी कौन सी एपीआई का उपयोग) वर्चुअल कीबोर्ड सिम्बियन एस 60 5 संस्करण पर खोला गया है? प्रलेखन में इस बारे में जानकारी की कमी है।सिम्बियन S60 5 वें संस्करण में वर्चुअल कीबोर्ड: कौन सी एपीआई उपयोग करने के लिए?

उत्तर

4

आप सही हैं, यह स्पष्ट रूप से प्रकाशित एपीआई होना चाहिए और इसे दस्तावेज़ीकरण में हाइलाइट किया जाना चाहिए। ऐसा भाग्य नहीं।

  • आप मंच देशी नियंत्रणों में से एक का उपयोग कर रहे हैं, तो वर्चुअल कीबोर्ड अपने आप उपयोगकर्ता एक पाठ-संपादन नियंत्रण पर पहुंचता है पॉपअप होगा।

  • यदि आप कस्टम नियंत्रण कर रहे हैं, तो आपको वर्चुअल कीबोर्ड का अपना संस्करण जोड़कर अपने चयन से निपटने की ज़रूरत है: एक नया टेक्स्ट-एडिटिंग, विंडो-स्वामित्व वाले वर्चुअल कीबोर्ड को दाएं के साथ कस्टम नियंत्रण देखें बटन। अपने सभी अनुप्रयोगों में इसे पुन: उपयोग करें। एक दिन, नोकिया को एहसास होगा कि उन्होंने एक स्पष्ट गलती की है और एपीआई को सार्वजनिक रूप से उपलब्ध कराया है।

  • यदि आप सीधे स्क्रीन एक्सेस का उपयोग कर रहे हैं, तो आप वास्तव में बहुत से 60-दिखने वाले वर्चुअल कीबोर्ड को पॉपअप से बाहर होने की उम्मीद नहीं करेंगे। फिर, स्क्रीन पर एक अच्छी छवि खींचें ताकि उपयोगकर्ता को पता चले कि वर्चुअल कुंजी कहां हैं और सूचक घटनाओं पर प्रतिक्रिया दें। यह कम पुन: प्रयोज्य होने जा रहा है जब तक कि आप इसमें अच्छी तरह से अनुकूलन (पृष्ठभूमि, बटन किनारों ...) का निर्माण नहीं करते हैं।

संपादित करें: नोकिया इस मुद्दे को ठीक करने के लिए क्यूटी पर भरोसा कर सकता है। मैं कंट्रोल के मौजूदा 4.7 संस्करण का हिस्सा बनने की उम्मीद करता हूं।

3

कस्टम कोडित किनेटिक स्क्रॉल क्षेत्र के अंदर QLineEdit पर फ़ोकस के साथ टिंकरिंग, मुझे एक समान समस्या है (वर्चुअल कीबोर्ड मैन्युअल रूप से कैसे खोलें)। फिर, मुझे मिल गया, यह स्पष्ट रूप से एक सी 7 सिम्बियन^3 फोन पर क्यूटी 4.6.3 में काम करता है:

// lineEdit is an instance of QLineEdit  
QApplication::postEvent(lineEdit, new QEvent(QEvent::RequestSoftwareInputPanel)); 

इससे पहले, मैं भी एक QEvent :: कि एक ही lineedit को Focusin घटना पोस्ट करने के लिए किया था अन्यथा QLineEdit वर्चुअल कीबोर्ड से सामग्री अद्यतन नहीं किया था।

आशा है कि यह सहायक होगा। मैंने घंटों खो दिए

1

धन्यवाद, धन्यवाद, बहुत उपयोगी युक्ति! "बंद वर्चुअल कीबोर्ड" ईवेंट भी ट्रिगर किया जा सकता है:

QApplication::postEvent(lineEdit, new QEvent(QEvent::CloseSoftwareInputPanel)); 
संबंधित मुद्दे