<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國際加速解決方案。 廣告
                # QDesignerContainerExtension Class Reference ## [[QtDesigner](index.htm) module] 該QDesignerContainerExtension類可以讓你的網頁添加到Qt Designer中的工作區中的自定義多頁的容器。[More...](#details) 通過繼承[QPyDesignerContainerExtension](qpydesignercontainerextension.html)。 ### Methods * `__init__ (self)` * `__init__ (self, QDesignerContainerExtension)` * `addWidget (self, QWidget?widget)` * `int count (self)` * `int currentIndex (self)` * `insertWidget (self, int?index, QWidget?widget)` * `remove (self, int?index)` * `setCurrentIndex (self, int?index)` * `QWidget widget (self, int?index)` ### Special Methods * `__len__ (self)` * * * ## Detailed Description 該QDesignerContainerExtension類可以讓你的網頁添加到Qt Designer中的工作區中的自定義多頁的容器。 QDesignerContainerExtension用于創建自定義容器擴展提供了一個接口。容器擴展包括函數的集合的那個_Qt Designer_需要管理一個多頁容器插件,且在容器的頁的列表。 ![](https://img.kancloud.cn/80/75/8075ef6d9472ba71307828e1583acb54_285x295.png) **Warning:**這是_not_在一般情況下,只有自定義容器的插件擴展_multi-page_容器。 要創建一個容器擴展,你的擴展類必須繼承自兩個[QObject](qobject.html)和QDesignerContainerExtension 。例如: ``` class MyContainerExtension : public [QObject](qobject.html), public QDesignerContainerExtension { Q_OBJECT Q_INTERFACES(QDesignerContainerExtension) public: MyContainerExtension(MyCustomWidget *widget, [QObject](qobject.html) *parent = 0); int count() const; [QWidget](qwidget.html) *widget(int index) const; int currentIndex() const; void setCurrentIndex(int index); void addWidget([QWidget](qwidget.html) *widget); void insertWidget(int index, [QWidget](qwidget.html) *widget); void remove(int index); private: MyCustomWidget *myWidget; }; ``` 由于我們正在實現一個接口,我們必須確保它是由已知的元對象系統中使用[Q_INTERFACES](qobject.html#Q_INTERFACES)()宏。這使_Qt Designer_使用[qobject_cast](qobject.html#qobject_cast)( )函數用什么來查詢所支持的接口,但一[QObject](qobject.html)指針。 你必須重新實現幾個功能,使_Qt Designer_管理自定義多頁的容器控件:_Qt Designer_ uses [count](qdesignercontainerextension.html#count)( )來跟蹤的頁數在你的容器中,[widget](qdesignercontainerextension.html#widget)( )給定的索引在容器的頁面列表在返回的頁面,[currentIndex](qdesignercontainerextension.html#currentIndex)( )返回選定的頁面的列表索引。_Qt Designer_使用[addWidget](qdesignercontainerextension.html#addWidget)( )函數在給定頁面添加到容器中,期待它附加到頁面列表,而它預計[insertWidget](qdesignercontainerextension.html#insertWidget)( )函數通過給定的索引處插入了一個給定頁面添加到容器中。 In _Qt Designer_未創建的擴展,直到你需要它們。出于這個原因,你必須同時創建一個[QExtensionFactory](qextensionfactory.html),即一個類,它能夠讓你的擴展的一個實例,并使用它注冊_Qt Designer_的[extension manager](qextensionmanager.html)。 當一個容器擴展是必需的,_Qt Designer_的[extension manager](qextensionmanager.html)將通過其所有已注冊的工廠運行要求[QExtensionFactory.createExtension](qextensionfactory.html#createExtension)( )對每一直到第一個即能創建一個容器延伸,被找到。這家工廠將創建的擴展插件。 有擴展的四個可用的類型_Qt Designer_: QDesignerContainerExtension ,[QDesignerMemberSheetExtension](qdesignermembersheetextension.html),[QDesignerPropertySheetExtension](qdesignerpropertysheetextension.html)和[QDesignerTaskMenuExtension](qdesignertaskmenuextension.html)。_Qt Designer_的行為是一樣的具有多頁的容器,一個成員表,屬性表或任務菜單中的延期申請是否相關。 該[QExtensionFactory](qextensionfactory.html)類提供了一個標準的擴展工廠,并且也可以用作用于定義擴展工廠的接口。您可以創建一個新的[QExtensionFactory](qextensionfactory.html)并重新實現[QExtensionFactory.createExtension](qextensionfactory.html#createExtension)()函數。例如: ``` [QObject](qobject.html) *ANewExtensionFactory.createExtension([QObject](qobject.html) *object, const [QString](qstring.html) &iid, [QObject](qobject.html) *parent) const { if (iid != Q_TYPEID(QDesignerContainerExtension)) return 0; if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*> (object)) return new MyContainerExtension(widget, parent); return 0; } ``` 或者您可以使用現有的工廠,擴大[QExtensionFactory.createExtension](qextensionfactory.html#createExtension)( )函數,使工廠能夠創建一個容器擴展為好。例如: ``` [QObject](qobject.html) *AGeneralExtensionFactory.createExtension([QObject](qobject.html) *object, const [QString](qstring.html) &iid, [QObject](qobject.html) *parent) const { MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object); if (widget && (iid == Q_TYPEID([QDesignerTaskMenuExtension](qdesignertaskmenuextension.html)))) { return new MyTaskMenuExtension(widget, parent); } else if (widget && (iid == Q_TYPEID(QDesignerContainerExtension))) { return new MyContainerExtension(widget, parent); } else { return 0; } } ``` 對于使用QDesignerContainerExtension類的完整示例,請參見[Container Extension example](index.htm)。該示例顯示了如何創建一個自定義多頁插件_Qt Designer_。 * * * ## Method Documentation ``` QDesignerContainerExtension.__init__ (self) ``` ``` QDesignerContainerExtension.__init__ (self, QDesignerContainerExtension) ``` ``` QDesignerContainerExtension.addWidget (self, QWidget?widget) ``` 這種方法是抽象的,應在任何子類中重新實現。 將給定_page_到容器將其附加到頁面的擴展名的列表。 **See also** [insertWidget](qdesignercontainerextension.html#insertWidget)( )[remove](qdesignercontainerextension.html#remove)()和[widget](qdesignercontainerextension.html#widget)( ) 。 ``` int QDesignerContainerExtension.count (self) ``` 這種方法是抽象的,應在任何子類中重新實現。 返回容器中的頁數。 ``` int QDesignerContainerExtension.currentIndex (self) ``` 這種方法是抽象的,應在任何子類中重新實現。 返回容器中的當前選擇的頁的索引。 **See also** [setCurrentIndex](qdesignercontainerextension.html#setCurrentIndex)( ) 。 ``` QDesignerContainerExtension.insertWidget (self, int?index, QWidget?widget) ``` 這種方法是抽象的,應在任何子類中重新實現。 將給定_page_到容器通過在給定的插入它_index_在頁面的擴展名的列表。 **See also** [addWidget](qdesignercontainerextension.html#addWidget)( )[remove](qdesignercontainerextension.html#remove)()和[widget](qdesignercontainerextension.html#widget)( ) 。 ``` QDesignerContainerExtension.remove (self, int?index) ``` 這種方法是抽象的,應在任何子類中重新實現。 移除網頁在給定的_index_從頁面的擴展名的列表。 **See also** [addWidget](qdesignercontainerextension.html#addWidget)()和[insertWidget](qdesignercontainerextension.html#insertWidget)( ) 。 ``` QDesignerContainerExtension.setCurrentIndex (self, int?index) ``` 這種方法是抽象的,應在任何子類中重新實現。 設置當前所選頁面中的容器是網頁在給定的_index_在頁面的擴展名的列表。 **See also** [currentIndex](qdesignercontainerextension.html#currentIndex)( ) 。 ``` QWidget QDesignerContainerExtension.widget (self, int?index) ``` [ 這種方法是抽象的,應在任何子類中重新實現。 返回頁面在給定的_index_在頁面的擴展名的列表。 ](qwidget.html) [**See also**](qwidget.html) [addWidget](qdesignercontainerextension.html#addWidget)()和[insertWidget](qdesignercontainerextension.html#insertWidget)( ) 。 ``` QDesignerContainerExtension.__len__ (self) ```
                  <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>

                              哎呀哎呀视频在线观看