<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # QMetaMethod Class Reference ## [[QtCore](index.htm) module] 該QMetaMethod類提供的成員函數的元數據。[More...](#details) ### Types * `enum Access { Private, Protected, Public }` * `enum MethodType { Method, Signal, Slot, Constructor }` ### Methods * `__init__ (self)` * `__init__ (self, QMetaMethod)` * `Access access (self)` * `object invoke (self, QObject?object, Qt.ConnectionType?connectionType, QGenericReturnArgument?returnValue, QGenericArgument?value0?=?QGenericArgument(0,0), QGenericArgument?value1?=?QGenericArgument(0,0), QGenericArgument?value2?=?QGenericArgument(0,0), QGenericArgument?value3?=?QGenericArgument(0,0), QGenericArgument?value4?=?QGenericArgument(0,0), QGenericArgument?value5?=?QGenericArgument(0,0), QGenericArgument?value6?=?QGenericArgument(0,0), QGenericArgument?value7?=?QGenericArgument(0,0), QGenericArgument?value8?=?QGenericArgument(0,0), QGenericArgument?value9?=?QGenericArgument(0,0))` * `object invoke (self, QObject?object, QGenericReturnArgument?returnValue, QGenericArgument?value0?=?QGenericArgument(0,0), QGenericArgument?value1?=?QGenericArgument(0,0), QGenericArgument?value2?=?QGenericArgument(0,0), QGenericArgument?value3?=?QGenericArgument(0,0), QGenericArgument?value4?=?QGenericArgument(0,0), QGenericArgument?value5?=?QGenericArgument(0,0), QGenericArgument?value6?=?QGenericArgument(0,0), QGenericArgument?value7?=?QGenericArgument(0,0), QGenericArgument?value8?=?QGenericArgument(0,0), QGenericArgument?value9?=?QGenericArgument(0,0))` * `object invoke (self, QObject?object, Qt.ConnectionType?connectionType, QGenericArgument?value0?=?QGenericArgument(0,0), QGenericArgument?value1?=?QGenericArgument(0,0), QGenericArgument?value2?=?QGenericArgument(0,0), QGenericArgument?value3?=?QGenericArgument(0,0), QGenericArgument?value4?=?QGenericArgument(0,0), QGenericArgument?value5?=?QGenericArgument(0,0), QGenericArgument?value6?=?QGenericArgument(0,0), QGenericArgument?value7?=?QGenericArgument(0,0), QGenericArgument?value8?=?QGenericArgument(0,0), QGenericArgument?value9?=?QGenericArgument(0,0))` * `object invoke (self, QObject?object, QGenericArgument?value0?=?QGenericArgument(0,0), QGenericArgument?value1?=?QGenericArgument(0,0), QGenericArgument?value2?=?QGenericArgument(0,0), QGenericArgument?value3?=?QGenericArgument(0,0), QGenericArgument?value4?=?QGenericArgument(0,0), QGenericArgument?value5?=?QGenericArgument(0,0), QGenericArgument?value6?=?QGenericArgument(0,0), QGenericArgument?value7?=?QGenericArgument(0,0), QGenericArgument?value8?=?QGenericArgument(0,0), QGenericArgument?value9?=?QGenericArgument(0,0))` * `int methodIndex (self)` * `MethodType methodType (self)` * `list-of-QByteArray parameterNames (self)` * `list-of-QByteArray parameterTypes (self)` * `str signature (self)` * `str tag (self)` * `str typeName (self)` * * * ## Detailed Description 該QMetaMethod類提供的成員函數的元數據。 一個QMetaMethod有[methodType](qmetamethod.html#methodType)()的一個[signature](qmetamethod.html#signature)( )的列表[parameterTypes](qmetamethod.html#parameterTypes)()和[parameterNames](qmetamethod.html#parameterNames)( ) ,返回[typeName](qmetamethod.html#typeName)()的一個[tag](qmetamethod.html#tag)() ,和一個[access](qmetamethod.html#access)( )說明。您可以使用[invoke](qmetamethod.html#invoke)( )來調用方法上的任意[QObject](qobject.html)。 的方法,將只登記了元對象系統,如果它是一個槽,一個信號,或者與所聲明的[Q_INVOKABLE](qobject.html#Q_INVOKABLE)宏。構造也可以與注冊[Q_INVOKABLE](qobject.html#Q_INVOKABLE)。 * * * ## Type Documentation ``` QMetaMethod.Access ``` 這個枚舉變量描述的方法的訪問級別,下面在C + +中使用的約定。 | Constant | Value | | --- | --- | | `QMetaMethod.Private` | `0` | | `QMetaMethod.Protected` | `1` | | `QMetaMethod.Public` | `2` | ``` QMetaMethod.MethodType ``` | Constant | Value | Description | | --- | --- | --- | | `QMetaMethod.Method` | `0` | 該函數是一個普通的成員函數。 | | `QMetaMethod.Signal` | `1` | 該函數是一個信號。 | | `QMetaMethod.Slot` | `2` | 該函數是一個槽。 | | `QMetaMethod.Constructor` | `3` | 該函數是一個構造函數。 | * * * ## Method Documentation ``` QMetaMethod.__init__ (self) ``` ``` QMetaMethod.__init__ (self, QMetaMethod) ``` ``` Access QMetaMethod.access (self) ``` [ 返回此方法(私有,保護,或公共)的訪問規范。 信號始終受到保護,這意味著你只能從類或子類發出它們。 ](qmetamethod.html#Access-enum) [**See also**](qmetamethod.html#Access-enum) [methodType](qmetamethod.html#methodType)( ) 。 ``` object QMetaMethod.invoke (self, QObject?object, Qt.ConnectionType?connectionType, QGenericReturnArgument?returnValue, QGenericArgument?value0?=?QGenericArgument(0,0), QGenericArgument?value1?=?QGenericArgument(0,0), QGenericArgument?value2?=?QGenericArgument(0,0), QGenericArgument?value3?=?QGenericArgument(0,0), QGenericArgument?value4?=?QGenericArgument(0,0), QGenericArgument?value5?=?QGenericArgument(0,0), QGenericArgument?value6?=?QGenericArgument(0,0), QGenericArgument?value7?=?QGenericArgument(0,0), QGenericArgument?value8?=?QGenericArgument(0,0), QGenericArgument?value9?=?QGenericArgument(0,0)) ``` 調用此方法的對象上_object_。返回True如果該成員可被調用。返回False,如果沒有這樣的成員或參數不匹配。 該調用可以是同步或異步的,這取決于_connectionType_: * If _connectionType_ is [Qt.DirectConnection](qt.html#ConnectionType-enum), the member will be invoked immediately. * If _connectionType_ is [Qt.QueuedConnection](qt.html#ConnectionType-enum), a [QEvent](qevent.html) will be posted and the member is invoked as soon as the application enters the main event loop. * If _connectionType_ is [Qt.AutoConnection](qt.html#ConnectionType-enum), the member is invoked synchronously if _object_ lives in the same thread as the caller; otherwise it will invoke the member asynchronously. 這個方法調用的返回值放在_returnValue_。如果調用是異步的,則返回值無法評估。你可以通過多達十個參數(_val0_,_val1_,_val2_,_val3_,_val4_,_val5_,_val6_,_val7_,_val8_和_val9_)這個方法調用。 [QGenericArgument](qgenericargument.html)和[QGenericReturnArgument](qgenericreturnargument.html)是內部的輔助類。由于信號和槽可以動態調用,則必須使用附上參數[Q_ARG](qmetaobject.html#Q_ARG)()和[Q_RETURN_ARG](qmetaobject.html#Q_RETURN_ARG)( )宏。[Q_ARG](qmetaobject.html#Q_ARG)( )接受一個類型名稱和類型的const引用;[Q_RETURN_ARG](qmetaobject.html#Q_RETURN_ARG)( )接受一個類型名稱和一個非const引用。 異步調用的[animateClick()](qabstractbutton.html#animateClick)插槽上[QPushButton](qpushbutton.html): ``` int methodIndex = pushButton->metaObject()->indexOfMethod("animateClick()"); [QMetaMethod](qmetamethod.html) method = metaObject->method(methodIndex); method.invoke(pushButton, [Qt](qt.html).QueuedConnection); ``` 對于異步方法調用時,參數必須是已知Qt的元對象系統類型,因為Qt的需要復制到它們存儲在幕后事件的參數。如果您嘗試使用一個排隊的連接,并收到錯誤消息 ``` [QMetaMethod](qmetamethod.html).invoke: Unable to handle unregistered datatype 'MyType' ``` 通話[qRegisterMetaType](qmetatype.html#qRegisterMetaType)()注冊的數據類型調用QMetaMethod.invoke ()之前。 要同步調用`compute(QString, int, double)`插槽上的一些任意對象`obj`檢索它的返回值: ``` [QString](qstring.html) retVal; [QByteArray](qbytearray.html) normalizedSignature = [QMetaObject](qmetaobject.html).normalizedSignature("compute(QString, int, double)"); int methodIndex = obj->metaObject()->indexOfMethod(normalizedSignature); [QMetaMethod](qmetamethod.html) method = metaObject->method(methodIndex); method.invoke(obj, [Qt](qt.html).DirectConnection, Q_RETURN_ARG([QString](qstring.html), retVal), Q_ARG([QString](qstring.html), "sqrt"), Q_ARG(int, 42), Q_ARG(double, 9.7)); ``` [QMetaObject.normalizedSignature](qmetaobject.html#normalizedSignature)()被用在這里,以確保簽名的格式是什么調用()期望。例如多馀的空格被刪除。 如果“計算”老虎不采取只有一個[QString](qstring.html)一int和一間雙人按照指定的順序,則調用將失敗。 **Warning:**這種方法不會測試的參數的有效性:_object_必須是類的實例[QMetaObject](qmetaobject.html)而本[QMetaMethod](qmetamethod.html)已建成使用。該參數必須具有相同的類型的那些預期通過該方法,否則,該行為是未定義的。 **See also** [Q_ARG](qmetaobject.html#Q_ARG)( )[Q_RETURN_ARG](qmetaobject.html#Q_RETURN_ARG)( )[qRegisterMetaType](qmetatype.html#qRegisterMetaType)()和[QMetaObject.invokeMethod](qmetaobject.html#invokeMethod)( ) 。 ``` object QMetaMethod.invoke (self, QObject?object, QGenericReturnArgument?returnValue, QGenericArgument?value0?=?QGenericArgument(0,0), QGenericArgument?value1?=?QGenericArgument(0,0), QGenericArgument?value2?=?QGenericArgument(0,0), QGenericArgument?value3?=?QGenericArgument(0,0), QGenericArgument?value4?=?QGenericArgument(0,0), QGenericArgument?value5?=?QGenericArgument(0,0), QGenericArgument?value6?=?QGenericArgument(0,0), QGenericArgument?value7?=?QGenericArgument(0,0), QGenericArgument?value8?=?QGenericArgument(0,0), QGenericArgument?value9?=?QGenericArgument(0,0)) ``` 這個函數的重載[invoke](qmetamethod.html#invoke)( ) 。 此重載始終使用連接類型調用該方法[Qt.AutoConnection](qt.html#ConnectionType-enum)。 ``` object QMetaMethod.invoke (self, QObject?object, Qt.ConnectionType?connectionType, QGenericArgument?value0?=?QGenericArgument(0,0), QGenericArgument?value1?=?QGenericArgument(0,0), QGenericArgument?value2?=?QGenericArgument(0,0), QGenericArgument?value3?=?QGenericArgument(0,0), QGenericArgument?value4?=?QGenericArgument(0,0), QGenericArgument?value5?=?QGenericArgument(0,0), QGenericArgument?value6?=?QGenericArgument(0,0), QGenericArgument?value7?=?QGenericArgument(0,0), QGenericArgument?value8?=?QGenericArgument(0,0), QGenericArgument?value9?=?QGenericArgument(0,0)) ``` 這個函數的重載[invoke](qmetamethod.html#invoke)( ) 。 如果該成員的返回值是沒有興趣此重載都可以使用。 ``` object QMetaMethod.invoke (self, QObject?object, QGenericArgument?value0?=?QGenericArgument(0,0), QGenericArgument?value1?=?QGenericArgument(0,0), QGenericArgument?value2?=?QGenericArgument(0,0), QGenericArgument?value3?=?QGenericArgument(0,0), QGenericArgument?value4?=?QGenericArgument(0,0), QGenericArgument?value5?=?QGenericArgument(0,0), QGenericArgument?value6?=?QGenericArgument(0,0), QGenericArgument?value7?=?QGenericArgument(0,0), QGenericArgument?value8?=?QGenericArgument(0,0), QGenericArgument?value9?=?QGenericArgument(0,0)) ``` 這個函數的重載[invoke](qmetamethod.html#invoke)( ) 。 使用的連接類型此重載調用該方法[Qt.AutoConnection](qt.html#ConnectionType-enum)并忽略返回值。 ``` int QMetaMethod.methodIndex (self) ``` 返回此方法的指數。 此功能被引入Qt的4.6 。 ``` MethodType QMetaMethod.methodType (self) ``` [ 返回此方法(信號,槽,或方法)的類型。 ](qmetamethod.html#MethodType-enum) [**See also**](qmetamethod.html#MethodType-enum) [access](qmetamethod.html#access)( ) 。 ``` list-of-QByteArray QMetaMethod.parameterNames (self) ``` 返回參數名稱的列表。 **See also** [parameterTypes](qmetamethod.html#parameterTypes)()和[signature](qmetamethod.html#signature)( ) 。 ``` list-of-QByteArray QMetaMethod.parameterTypes (self) ``` 返回參數類型的列表。 **See also** [parameterNames](qmetamethod.html#parameterNames)()和[signature](qmetamethod.html#signature)( ) 。 ``` str QMetaMethod.signature (self) ``` 返回此方法的簽名(例如,`setValue(double)`) 。 **See also** [parameterTypes](qmetamethod.html#parameterTypes)()和[parameterNames](qmetamethod.html#parameterNames)( ) 。 ``` str QMetaMethod.tag (self) ``` 返回與此方法關聯的標記。 標籤是由公認的特殊宏`moc`這使人們有可能添加有關方法的額外信息。 標籤信息可以在函數聲明如下方式添加: ``` #define THISISTESTTAG // tag text ... private slots: THISISTESTTAG void testFunc(); ``` 并且信息可以通過使用如下方式訪問: ``` MainWindow win; win.show(); int functionIndex = win.metaObject()->indexOfSlot("testFunc()"); [QMetaMethod](qmetamethod.html) mm = metaObject()->method(functionIndex); qDebug() << mm.tag(); // prints THISISTESTTAG ``` 就目前而言,`moc`不支持任何特殊的標記。 ``` str QMetaMethod.typeName (self) ``` 返回此方法的返回類型,或空字符串,如果返回類型是_void_。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看