Qt 5.11 - QAxWidget (class)

QAxWidget क्लास




qt

QAxWidget क्लास

QAxWidget वर्ग एक QWidget है जो ActiveX नियंत्रण को लपेटता है। More...

हैडर: #include <QAxWidget>
qmake: क्यूटी + = अक्षतंतु
विरासत में मिली: QWidget और QAxBase

सार्वजनिक कार्य

QAxWidget (QWidget * जनक = nullptr, Qt :: WindowFlags f = ...)
QAxWidget (const QAxWidget & c , QWidget * माता-पिता = nullptr, Qt :: WindowFlags f = ...)
QAxWidget ( QAxWidget * iface , QWidget * माता-पिता = nullptr, Qt :: WindowFlags f = ...)
वास्तविक ~QAxWidget ()
आभासी QAxAggregated * createAggregate ()
bool doVerb (const doVerb और क्रिया )

सार्वजनिक कार्यों को लागू किया

आभासी शून्य clear () ओवरराइड
आभासी QSize minimumSizeHint () minimumSizeHint ओवरराइड
आभासी QSize sizeHint () sizeHint ओवरराइड
  • 219 सार्वजनिक कार्य QWidget से विरासत में QWidget
  • 19 सार्वजनिक कार्य QAxBase से विरासत में QAxBase
  • 34 सार्वजनिक कार्य QObject से विरासत में QObject

संरक्षित कार्य

आभासी बूल createHostWindow (बूल आरंभीकृत )
bool createHostWindow (bool initialized , const QByteArray और डेटा )
आभासी बूल translateKeyEvent (int संदेश , int keycode ) कास्ट

संरक्षित कार्यों को कार्यान्वित किया

आभासी शून्य changeEvent (QEvent * e ) ओवरराइड
आभासी शून्य connectNotify (const QMetaMethod & सिग्नल ) ओवरराइड
आभासी बूल initialize (IUnogn ** ptr ) ओवरराइड
आभासी शून्य resizeEvent ( QResizeEvent * ) ओवरराइड
  • QWidget से विरासत में मिले 35 संरक्षित कार्य
  • 5 संरक्षित कार्य QAxBase से विरासत में QAxBase
  • 9 संरक्षित कार्य QObject से विरासत में QObject

अतिरिक्त घायल सदस्य

  • 59 गुण QWidget से विरासत में QWidget
  • 1 संपत्ति QAxBase से विरासत में मिली
  • 1 संपत्ति QObject से विरासत में मिली
  • 19 सार्वजनिक स्लॉट्स QWidget से विरासत में QWidget
  • 1 सार्वजनिक स्लॉट QObject से विरासत में मिला है
  • QWidget से 3 सिग्नल विरासत में QWidget
  • QAxBase से 3 सिग्नल विरासत में QAxBase
  • 2 संकेत QObject से विरासत में QObject
  • 1 सार्वजनिक चर QWidget से विरासत में मिला
  • 1 सार्वजनिक चर QObject से विरासत में मिला
  • 7 स्थिर सार्वजनिक सदस्य QWidget से विरासत में QWidget
  • 10 स्थिर सार्वजनिक सदस्यों को QObject से विरासत में मिला
  • 1 संरक्षित स्लॉट QWidget से विरासत में मिला
  • 2 सुरक्षित चर QObject से विरासत में QObject

विस्तृत विवरण

QAxWidget वर्ग एक QWidget है जो ActiveX नियंत्रण को लपेटता है।

एक QAxWidget को एक खाली ऑब्जेक्ट के रूप में QAxWidget जा सकता है, ActiveX नियंत्रण के नाम के साथ इसे लपेटना चाहिए, या ActiveX नियंत्रण के लिए मौजूदा इंटरफ़ेस पॉइंटर के साथ। ActiveX नियंत्रण के गुण, तरीके और ईवेंट जो केवल QAxBase समर्थित डेटा प्रकारों का उपयोग करते हैं, Qt गुण, स्लॉट और सिग्नल के रूप में उपलब्ध हो जाते हैं। आधार वर्ग QAxBase एक एपीआई प्रदान करता है जो सीधे ActiveX को QAxBase पॉइंटर के माध्यम से एक्सेस करता है।

QAxWidget एक QWidget और इसे ज्यादातर इस तरह इस्तेमाल किया जा सकता है, जैसे कि यह एक विजेट पदानुक्रम और लेआउट में आयोजित किया जा सकता है या एक ईवेंट फ़िल्टर के रूप में कार्य कर सकता है। मानक विजेट गुण, उदाहरण के लिए enabled समर्थित हैं, लेकिन यह एसेट पैलेट या फ़ॉन्ट जैसी परिवेशीय गुणों के समर्थन को लागू करने के लिए ActiveX नियंत्रण पर निर्भर करता है। QAxWidget आवश्यक संकेत प्रदान करने का प्रयास करता है।

हालाँकि, आप Qt- विशिष्ट ईवेंट हैंडलर्स जैसे mousePressEvent या की- keyPressEvent को लागू नहीं कर सकते हैं और उनसे मज़बूती से कॉल करने की अपेक्षा कर सकते हैं। एम्बेडेड नियंत्रण पूरी तरह से QAxWidget को कवर करता है, और आमतौर पर उपयोगकर्ता इंटरफ़ेस को ही संभालता है। नियंत्रण-विशिष्ट API का उपयोग करें (अर्थात नियंत्रण के संकेतों को सुनें), या विंडो प्रक्रिया उपक्लाशिंग जैसी मानक COM तकनीकों का उपयोग करें।

QAxWidget , QAxBase , विशेष रूप से QAxBase dynamicCall () और querySubObject () से अपनी अधिकांश QAxWidget संबंधित कार्यक्षमता प्राप्त करता है।

चेतावनी: आप QAxWidget को उप-वर्ग कर सकते हैं, लेकिन आप उप-वर्ग में Q_OBJECT मैक्रो का उपयोग नहीं कर सकते (उत्पन्न मॉक-फ़ाइल संकलित नहीं करेंगे), इसलिए आप आगे संकेत, स्लॉट या गुण नहीं जोड़ सकते। यह सीमा रनटाइम में उत्पन्न मेटाबोजेक्ट जानकारी के कारण है। इस समस्या को हल करने के लिए, QAxWidget को QObject उपवर्ग के सदस्य के रूप में एकत्रित करें।

QAxBase , QAxObject , QAxScript और ActiveQt फ्रेमवर्क भी देखें

सदस्य समारोह प्रलेखन

QAxWidget :: QAxWidget ( QWidget * जनक = nullptr, Qt :: WindowFlags f = ...)

एक खाली QAxWidget विजेट बनाता है और QWidget कंस्ट्रक्टर के लिए माता - पिता और f को प्रचारित करता है। एक नियंत्रण शुरू करने के लिए, setControl () कॉल करें।

QAxWidget :: QAxWidget (const QString & c , QWidget * जनक = nullptr, Qt :: WindowFlags f = ...)

QAxWidget विजेट बनाता है और ActiveX नियंत्रण c को प्रारंभ करता है। माता - पिता और QWidget को QWidget लिए प्रचारित किया QWidget है।

setControl () भी देखें

QAxWidget :: QAxWidget ( IUnogn * iface , QWidget * माता-पिता = nullptr, Qt :: WindowFlags f = ...)

एक QAxWidget बनाता है जो iface द्वारा संदर्भित COM ऑब्जेक्ट को लपेटता है। माता - पिता और QWidget को QWidget लिए प्रचारित किया QWidget है।

[virtual] QAxWidget :: ~ QAxWidget ()

ActiveX नियंत्रण को बंद कर देता है और QAxWidget विजेट को नष्ट कर देता है, सभी आवंटित संसाधनों की सफाई करता है।

clear भी देखें ()।

[override virtual protected] शून्य QAxWidget :: changeEvent ( QEvent * e )

QWidget से QWidget::changeEvent ()।

[override virtual] शून्य QAxWidget :: clear ()

QAxBase से QAxBase::clear ()।

ActiveX नियंत्रण को बंद कर देता है।

[override virtual protected] शून्य QAxWidget :: connectNotify (const QMetaMethod & सिग्नल )

QObject से QObject::connectNotify ()।

[virtual] QAxAggregated * QAxWidget :: createAggregate ()

इस फ़ंक्शन को तब लागू करें जब आप ActiveX नियंत्रण के क्लाइंट साइट के लिए अतिरिक्त COM इंटरफ़ेस लागू करना चाहते हैं, या जब आप COM इंटरफ़ेस के वैकल्पिक कार्यान्वयन प्रदान करना चाहते हैं। QAxAggregated उपवर्ग का एक नया ऑब्जेक्ट QAxAggregated

डिफ़ॉल्ट कार्यान्वयन नल पॉइंटर लौटाता है।

[virtual protected] बूल QAxWidget :: createHostWindow ( बूल आरंभीकृत )

ActiveX नियंत्रण के लिए क्लाइंट साइट बनाता है, और यह सही है कि यदि नियंत्रण सफलतापूर्वक एम्बेड किया जा सकता है, अन्यथा गलत रिटर्न। यदि इनिशियलाइज्ड सही है तो कंट्रोल पहले ही इनिशियलाइज़ हो चुका है।

इस फ़ंक्शन को initialize () द्वारा कहा जाता है। यदि आप वास्तविक नियंत्रण तात्कालिकता को अनुकूलित करने के लिए आरंभीकरण को फिर से लागू करते हैं, तो इस फ़ंक्शन को डिफ़ॉल्ट क्लाइंट पक्ष द्वारा नियंत्रित नियंत्रण के लिए अपने पुन: कार्यान्वयन में कॉल करें। ActiveX नियंत्रण के लिए क्लाइंट साइट बनाता है, और यह सही है कि यदि नियंत्रण सफलतापूर्वक एम्बेड किया जा सकता है, अन्यथा गलत रिटर्न।

[protected] बूल QAxWidget :: createHostWindow ( बूल इनिशियलाइज्ड , QByteArray और डेटा )

ActiveX नियंत्रण के लिए क्लाइंट साइट बनाता है, और यह सही है कि यदि नियंत्रण सफलतापूर्वक एम्बेड किया जा सकता है, अन्यथा गलत रिटर्न। यदि इनिशियलाइज्ड गलत है तो डेटा का उपयोग करके कंट्रोल को इनिशियलाइज़ किया जाएगा। नियंत्रण को IPersistStreamInit या IPersistStorage इंटरफ़ेस के माध्यम से आरंभ किया जाएगा।

यदि नियंत्रण को कस्टम डेटा का उपयोग करके आरंभ करने की आवश्यकता है, तो इस फ़ंक्शन को initialize () के अपने कार्यान्वयन में कॉल करें। इस फ़ंक्शन को initialize () के डिफ़ॉल्ट कार्यान्वयन द्वारा नहीं कहा जाता है।

यह फ़ंक्शन Qt 4.4 में पेश किया गया था।

बूल QAxWidget :: doVerb (const QString और क्रिया )

क्रिया क्रिया को करने के लिए ActiveX नियंत्रण का अनुरोध करता है। संभावित क्रियाओं को verbs () द्वारा वापस किया जाता है।

फ़ंक्शन सही हो जाता है यदि ऑब्जेक्ट कार्रवाई कर सकता है, अन्यथा झूठे रिटर्न।

यह फ़ंक्शन Qt 4.1 में पेश किया गया था।

[override virtual protected] बूल QAxWidget :: इनिशियलाइज़ (IUnogn ** ptr )

QAxBase से QAxBase::initialize ()।

QAxBase::initialize कॉल QAxBase::initialize ( ptr ), और इस विजेट में createHostWindow (झूठा) को सफल होने पर कॉल करके नियंत्रण एम्बेड करता है।

सक्रिय होने से पहले नियंत्रण को प्रारंभ करने के लिए, इस फ़ंक्शन को फिर से लागू करें और createHostWindow (सच) को कॉल करने से पहले अपना प्रारंभ कोड जोड़ें।

यह फ़ंक्शन Qt 4.2 में पेश किया गया था।

[override virtual] QSize QAxWidget :: minimalSizeHint () कांस्टेबल

QWidget से QWidget::minimumSizeHint ()।

[override virtual protected] शून्य QAxWidget :: resizeEvent ( QResizeEvent * )

QWidget से QWidget::resizeEvent ()।

[override virtual] QSize QAxWidget :: sizeHint () कास्ट

QWidget से QWidget::sizeHint ()।

[virtual protected] बूल QAxWidget :: TranslateKeyEvent ( int संदेश , int keycode ) कास्ट

ActiveX नियंत्रण के लिए कुछ महत्वपूर्ण घटनाओं को पारित करने के लिए इस फ़ंक्शन को पुन: लागू करें। संदेश विंडो संदेश पहचानकर्ता है जो संदेश प्रकार (यानी WM_KEYDOWN) को निर्दिष्ट करता है, और कीकोड वर्चुअल कीकोड (यानी। VK_TAB) है।

यदि फ़ंक्शन सही है, तो मुख्य ईवेंट को ActiveX नियंत्रण में पास कर दिया जाता है, जो तब ईवेंट को संसाधित करता है या Qt पर ईवेंट को पास करता है।

यदि फ़ंक्शन गलत हो जाता है, तो कुंजी इवेंट की प्रोसेसिंग ActiveQt द्वारा अनदेखा कर दी जाती है , अर्थात। ActiveX नियंत्रण इसे संभाल सकता है या नहीं।

डिफ़ॉल्ट कार्यान्वयन निम्नलिखित मामलों के लिए सही है:

WM_SYSKEYDOWN WM_SYSKEYUP WM_KEYDOWN
सभी कीकोड VK_MENU VK_TAB, VK_DELETE और VK_SHIFT, VK_CONTROL या VK_MENU के संयोजन में सभी गैर-तीर-कुंजियाँ

यह तालिका लोकप्रिय ActiveX नियंत्रणों के साथ प्रयोग करने का परिणाम है, अर्थात। Internet Explorer और Microsoft Office अनुप्रयोग, लेकिन कुछ नियंत्रणों के लिए इसमें संशोधन की आवश्यकता हो सकती है।