Qt 5.11 - Creating Links

लिंक बनाना




qt

लिंक बनाना

ये कमांड कक्षाओं, कार्यों, उदाहरणों और अन्य लक्ष्यों के लिए हाइपरलिंक बनाने के लिए हैं।

हाइपरलिंक को कई अलग-अलग प्रकार के लक्ष्य बनाने के लिए \ l लिंक कमांड का उपयोग किया जाता है। कमांड का सामान्य सिंटैक्स है:

\l [ link criteria ] { link target } { link text }

... जहां वर्ग कोष्ठक में link criteria वैकल्पिक हैं, लेकिन link target अस्पष्ट होने पर इसकी आवश्यकता हो सकती है। नीचे फिक्सिंग अस्पष्ट लिंक देखें।

यहाँ बाहरी पृष्ठ से लिंक करने के लिए \ l कमांड का उपयोग करके एक उदाहरण दिया गया है:

/ *!
   Read the \l {http://doc.qt.io/qt-5/}
   {Qt 5.0 Documentation} carefully.
* /

QDoc इसे प्रस्तुत करता है:

क्यूटी 5.0 प्रलेखन को ध्यान से पढ़ें।

यदि लिंक लक्ष्य लिंक पाठ के बराबर है, तो दूसरा तर्क छोड़ा जा सकता है।

उदाहरण के लिए, यदि आपके पास दस्तावेज हैं जैसे:

/ *!
   \target assertions

   Assertions make some statement about the text at the
   point where they occur in the regexp, but they do not
   match any characters.

   ...

   Regexps are built up from expressions, quantifiers, and
   \l {assertions} {assertions}.
* /

आप इसे इस प्रकार सरल कर सकते हैं:

/ *!
  \target assertions

  Assertions make some statement about the text at the
  point where they occur in the regexp, but they do not
  match any characters.

  ...

  Regexps are built up from expressions, quantifiers, and
  \l assertions.
* /

एक-पैरामीटर संस्करण के लिए, ब्रेसिज़ को अक्सर छोड़ा जा सकता है। लिंक करने के कई तरीकों का समर्थन करता है:

  • \l QWidget - \class कमांड के साथ प्रलेखित एक वर्ग का नाम।
  • \l QWidget::sizeHint() - मापदंडों के बिना किसी फ़ंक्शन का हस्ताक्षर। यदि पैरामीटर के बिना एक मिलान फ़ंक्शन नहीं मिल सकता है, तो लिंक पहले मिलान फ़ंक्शन के साथ संतुष्ट है।
  • \l QWidget::removeAction(QAction* action) - मापदंडों के साथ एक फ़ंक्शन का हस्ताक्षर। यदि एक सटीक मिलान नहीं मिला है, तो लिंक संतुष्ट नहीं है और qdoc ... लिंक को त्रुटि ... से लिंक नहीं कर सकता है
  • \l <QtGlobal> - a \headerfile कमांड का विषय।
  • \l widgets/wiggly - सापेक्ष पथ का उपयोग एक \example में किया जाता है।
  • \l {QWidget Class Reference} - शीर्षक शीर्षक में उपयोग किया जाता है।
  • \l {Introduction to QDoc} - धारा कमांड में से एक से पाठ।
  • \l fontmatching - a \target कमांड का तर्क।
  • \l {Shared Classes} - एक कीवर्ड जिसका नाम एक \keyword कमांड में है।
  • \l http://qt-project.org/ - एक URL।

QDoc किसी भी ऐसे शब्द से लिंक बनाने की कोशिश करता है जो सामान्य अंग्रेजी शब्द से मिलता-जुलता नहीं है, उदाहरण के लिए, Qt वर्ग के नाम या फ़ंक्शन, जैसे QWidget या QWidget::sizeHint ()। इन मामलों में, \ l कमांड वास्तव में छोड़ा जा सकता है, लेकिन कमांड का उपयोग करके, आप यह सुनिश्चित करते हैं कि QDoc एक चेतावनी का उत्सर्जन करेगा यदि यह लिंक लक्ष्य को नहीं ढूंढ सकता है। इसके अलावा, यदि आप केवल फ़ंक्शन नाम लिंक में दिखाना चाहते हैं, तो आप निम्न सिंटैक्स का उपयोग कर सकते हैं:

  • \l {QWidget::} {sizeHint()}

QDoc इसे प्रस्तुत करता है:

QWidget::sizeHint

अस्पष्ट लिंक को ठीक करना

क्यूटी 5.0 के साथ क्यूटी शुरुआत के संशोधन के कारण, संभावना है कि क्यूडोक को अस्पष्ट लिंक से निपटना होगा। अस्पष्ट लिंक वह है जिसमें एक से अधिक Qt मॉड्यूल में मिलान लक्ष्य होता है, जैसे एक ही अनुभाग शीर्षक एक से अधिक Qt मॉड्यूल में दिखाई दे सकता है, या एक मॉड्यूल में C ++ वर्ग का नाम भी QML प्रकार का नाम हो सकता है एक और मॉड्यूल में। Qt5 में एक वास्तविक उदाहरण Qt नाम ही है। Qt, QtCore में C ++ नाम स्थान और QtQml में QtQml प्रकार दोनों का नाम है।

मान लीजिए हम Qt C ++ नामस्थान से लिंक करना चाहते हैं। जिस समय qdoc ने इस HTML पृष्ठ को उत्पन्न किया, वह लिंक सही था। क्या यह अभी भी C ++ के नामस्थान पर जाता है? Qdoc ने इस लिंक कमांड से वह लिंक उत्पन्न किया:

  • \l {Qt} {Qt C++ namespace}

अब मान लें कि हम Qt QML प्रकार से लिंक करना चाहते हैं। जिस समय qdoc ने इस HTML पृष्ठ को बनाया, वह लिंक भी सही था, लेकिन हमें इस लिंक कमांड का उपयोग करना था:

  • \l [QML] {Qt} {Qt QML type}

वर्ग कोष्ठक में QML Qdoc को एक मिलान लक्ष्य को स्वीकार करने के लिए तभी कहती है, जब कोई QML पृष्ठ पर ट्रगेट हो। Qdoc वास्तव में C ++ नामस्थान लक्ष्य को पहले पाता है, लेकिन चूंकि यह लक्ष्य C ++ पृष्ठ पर है, इसलिए qdoc इसे अनदेखा करता है और तब तक देखता रहता है जब तक कि वह QML पृष्ठ पर समान लक्ष्य न खोज ले।

वैकल्पिक वर्ग ब्रैकेट तर्क में \ l कमांड में मार्गदर्शन के बिना, यह मिलने वाले पहले मिलान लक्ष्य के लिए qdoc लिंक। qdoc चेतावनी नहीं दे सकता है कि लिंक ऐसे मामलों में अस्पष्ट था क्योंकि यह नहीं जानता कि एक और मिलान लक्ष्य मौजूद है।

वर्ग कोष्ठक में क्या तर्क दिखाई दे सकते हैं?

वर्ग ब्रैकेट तर्क के साथ एक लिंक कमांड में निम्नलिखित सिंटैक्स होता है:

\l [QML|CPP|DOC|QtModuleName] {link target} {link text}

वर्ग ब्रैकेट तर्क केवल \l (link) कमांड में अनुमत है। ऊपर दिए गए उदाहरण से पता चलता है कि QML को क्यूएमएल लक्ष्य से मेल खाने के लिए मजबूर करने के लिए वर्ग ब्रैकेट तर्क के रूप में QML का उपयोग कैसे किया जाता है। सबसे अधिक बार, यह एक QML प्रकार होगा, लेकिन यह संपत्ति का QML सदस्य कार्य भी हो सकता है।

उदाहरण में, Qd C ++ नेमस्पेस पेज को खोजने के लिए qdoc को एक वर्ग ब्रैकेट तर्क की आवश्यकता नहीं थी, क्योंकि वह पहला मिलान लक्ष्य qdoc था जो वैसे भी पाया गया था। हालाँकि, qdoc को C ++ लक्ष्य खोजने के लिए बाध्य करने के लिए जब एक मैचिंग QML लक्ष्य रास्ते में मिलता है, CPP को वर्ग ब्रैकेट तर्क के रूप में इस्तेमाल किया जा सकता है। उदाहरण के लिए:

  • \l [CPP] {Qt} {Qt C++ namespace}

... Qd QML प्रकार को अनदेखा करने के लिए qdoc को बाध्य करेगा और तब तक खोजना जारी रखेगा जब तक वह Qt C ++ नामस्थान से मेल नहीं खाता।

यदि लिंक लक्ष्य न तो C ++ है और न ही QML इकाई है, तो DOC को वर्ग ब्रैकेट तर्क के रूप में इस्तेमाल किया जा सकता है ताकि qdoc को उन दोनों के मिलान से रोका जा सके। इस लेखन में, अस्पष्ट लिंक के कोई मामले नहीं थे जहां DOC का उपयोग करना आवश्यक था।

अक्सर, वृत्तचित्र को पता होता है कि कौन सा क्यूटी मॉड्यूल लिंक लक्ष्य है। जब मॉड्यूल नाम ज्ञात होता है, तो मॉड्यूल नाम का उपयोग वर्ग कोष्ठक तर्क के रूप में करें। ऊपर दिए गए उदाहरण में, यदि हम जानते हैं कि Qt नाम का QtQml मॉड्यूल में स्थित है, तो हम इस तरह लिंक कमांड लिख सकते हैं:

  • \l [QtQml] {Qt} {Qt QML type}

जब एक मॉड्यूल नाम को वर्ग ब्रैकेट तर्क के रूप में उपयोग किया जाता है, तो qdoc केवल उस मॉड्यूल में लक्ष्य को लिंक करने के लिए खोज करेगा। यह लिंक के लक्ष्य को अधिक कुशल बनाता है।

अंत में, मॉड्यूल नाम और इकाई प्रकार के तर्कों को एक रिक्त द्वारा अलग किया जा सकता है, इसलिए कुछ इस तरह की भी अनुमति है:

  • \l [CPP QtQml] {Window} {C++ class Window}

इस लेखन के रूप में, ऐसे कोई मामले नहीं थे जहां दोनों के संयोजन की आवश्यकता थी।

\sa , \target और \keyword भी देखें।

\ sa (यह भी देखें)

\ _ कमांड एक लिंक की एक सूची को परिभाषित करता है जिसे प्रलेखन इकाई के निचले भाग में एक अलग "सी भी" अनुभाग में प्रस्तुत किया जाएगा।

आदेश अपने तर्क के रूप में लिंक की एक अल्पविराम से अलग सूची लेता है। यदि रेखा अल्पविराम के साथ समाप्त होती है, तो आप अगली पंक्ति पर सूची जारी रख सकते हैं। सामान्य वाक्यविन्यास है:

\sa {the first link}, {the second link},
    {the third link}, ...

QDoc स्वचालित रूप से एक संपत्ति के विभिन्न कार्यों को जोड़ने "लिंक भी देखें" उत्पन्न करने की कोशिश करेगा। उदाहरण के लिए, एक सेटविज़ुअल () फ़ंक्शन स्वचालित रूप से दृश्यमान () और इसके विपरीत एक लिंक प्राप्त करेगा।

सामान्य तौर पर, QDoc "देखें भी" लिंक उत्पन्न करेगा जो समान संपत्ति तक पहुंचने वाले कार्यों को आपस में जोड़ते हैं। यह चार अलग-अलग सिंटैक्स संस्करणों को पहचानता है:

  • property()
  • setProperty()
  • isProperty()
  • hasProperty()

\ Sa कमांड \l कमांड के समान लिंक का समर्थन करता है।

/ *!
   Appends the actions \a actions to this widget's
   list of actions.

   \sa removeAction(), QMenu, addAction()
* /
void QWidget::addActions(QList<QAction *> actions)
{
...
}

QDoc इसे प्रस्तुत करता है:

शून्य QWidget::addActions ( QList < QAction *> क्रियाएँ )

इस विजेट के कार्यों की सूची में कार्यों को लागू करता है।

removeAction() , QMenu , और addAction() भी देखें।

\l \target और \keyword भी देखें।

\ लक्ष्य

\ लक्ष्य कमांड दस्तावेज़ीकरण में एक जगह का नाम देता है जिसे आप \l और \sa कमांड का उपयोग करने के लिए लिंक कर सकते \sa

पंक्ति विराम तक का पाठ लक्ष्य नाम बन जाता है। लाइन ब्रेक के साथ लक्ष्य नाम का पालन करना सुनिश्चित करें। लक्ष्य नाम के आस-पास घुंघराले कोष्ठक की आवश्यकता नहीं होती है, लेकिन जब लक्ष्य नाम का उपयोग लिंक कमांड में किया जाता है, तो उनकी आवश्यकता हो सकती है। निचे देखो।

/ *!
    \target capturing parentheses
    \section1 Capturing Text

    Parentheses allow us to group elements together so that
    we can quantify and capture them.

    ...
* /

कोष्ठक पर कब्जा करने वाले लक्ष्य नाम को उसी दस्तावेज़ के भीतर से जोड़ा जा सकता है जिसमें निम्न तरीके से लक्ष्य रखा गया है:

  • \l {capturing parentheses} (उसी QDoc टिप्पणी के भीतर से)

नोट: लिंक उदाहरण में कोष्ठकों की आवश्यकता होती है क्योंकि लक्ष्य नाम में रिक्त स्थान होते हैं।

यह भी देखें कि \l , \sa और \keyword

\ कीवर्ड

\ कीवर्ड कमांड प्रलेखन में एक जगह का नाम देता है जिसे आप \l और \sa का उपयोग करके लिंक कर सकते \sa कमांड।

\ कीवर्ड कमांड \target कमांड की तरह है, सिवाय जब कीवर्ड को लिंक करने के लिए लिंक QDoc टिप्पणी के शीर्ष पर जाता है जहां \ कीवर्ड दिखाई देता है। यदि आप एक \ _ पेज के भीतर section इकाई के लिए लिंक लक्ष्य बनाना चाहते हैं। इसके बजाय \ लक्ष्य का उपयोग करें। एक कीवर्ड को एक सिंट सिंटैक्स का उपयोग करके कहीं से भी जोड़ा जा सकता है।

QDoc रन के दौरान संसाधित किए गए सभी दस्तावेज़ों पर कीवर्ड अद्वितीय होने चाहिए। कमांड अपने तर्क के रूप में शेष पंक्ति का उपयोग करता है। लाइन ब्रेक के साथ कीवर्ड का पालन करना सुनिश्चित करें।

/ *!
    \class QRegExp
    \reentrant
    \brief The QRegExp class provides pattern
           matching using regular expressions.
    \ingroup tools
    \ingroup misc
    \ingroup shared

    \keyword regular expression

    Regular expressions, or "regexps", provide a way to
    find patterns within text.

    ...
* /

कीवर्ड के साथ चिह्नित स्थान को इसके साथ जोड़ा जा सकता है:

/ *!
    When a string is surrounded by slashes, it is
    interpreted as a \l {QRegExp}{regular expression}.
* /

QDoc इसे प्रस्तुत करता है:

जब एक स्ट्रिंग स्लैश से घिरा होता है, तो इसे एक नियमित अभिव्यक्ति के रूप में व्याख्या की जाती है।

यदि कीवर्ड टेक्स्ट में स्थान हैं, तो कोष्ठक आवश्यक हैं।

यह भी देखें \l , \sa और \target