<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # QDesignerTaskMenuExtension Class Reference ## [[QtDesigner](index.htm) module] 該QDesignerTaskMenuExtension類允許您自定義菜單項添加到Qt Designer中的任務菜單。[More...](#details) 通過繼承[QPyDesignerTaskMenuExtension](qpydesignertaskmenuextension.html)。 ### Methods * `__init__ (self)` * `__init__ (self, QDesignerTaskMenuExtension)` * `QAction preferredEditAction (self)` * `list-of-QAction taskActions (self)` * * * ## Detailed Description 該QDesignerTaskMenuExtension類允許您自定義菜單項添加到Qt Designer中的任務菜單。 QDesignerTaskMenuExtension提供了用于創建自定義任務菜單擴展的接口。它通常用于創建特定于一個插件中任務的菜單項_Qt Designer_。 _Qt Designer_使用QDesignerTaskMenuExtension養活它的任務菜單。當被要求的任務菜單,_Qt Designer_將查詢所選部件的任務菜單擴展。 ![](https://img.kancloud.cn/ae/55/ae559d1dc1e7597a43e669bb8dd489f2_336x352.png) 任務菜單擴展是QActions的集合。當選擇該插件具有指定擴展名的動作出現在任務菜單中的條目。上圖顯示自定義**Edit State...**這似乎除了動作_Qt Designer_的默認任務菜單項:**Cut**,**Copy**,**Paste**等等 要創建一個自定義任務菜單擴展,你的擴展類必須繼承自兩個[QObject](qobject.html)和QDesignerTaskMenuExtension 。例如: ``` class MyTaskMenuExtension : public [QObject](qobject.html), public QDesignerTaskMenuExtension { Q_OBJECT Q_INTERFACES(QDesignerTaskMenuExtension) public: MyTaskMenuExtension(MyCustomWidget *widget, [QObject](qobject.html) *parent); [QAction](qaction.html) *preferredEditAction() const; [QList](index.htm)<[QAction](qaction.html) *> taskActions() const; private slots: void mySlot(); private: MyCustomWidget *widget; [QAction](qaction.html) *myAction; }; ``` 由于我們正在實現一個接口,我們必須確保它是使用由已知的元對象系統的[Q_INTERFACES](qobject.html#Q_INTERFACES)()宏。這使_Qt Designer_使用[qobject_cast](qobject.html#qobject_cast)( )函數用什么來查詢所支持的接口,但一[QObject](qobject.html)指針。 你必須重新實現[taskActions](qdesignertaskmenuextension.html#taskActions)( )函數返回的行動,將被列入名單_Qt Designer_任務菜單。或者,您可以重新實現[preferredEditAction](qdesignertaskmenuextension.html#preferredEditAction)( )函數選擇你的插件,并按下時設置被調用的行動**F2**。優選的編輯動作一定要返回的動作之一[taskActions](qdesignertaskmenuextension.html#taskActions)( ),并且如果它沒有被定義時,按**F2**鍵將簡單地被忽略。 In _Qt Designer_,則不會創建擴展,直到你需要它們。任務菜單擴展名,例如,當您單擊鼠標右鍵,在一個小部件創建_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](qdesignercontainerextension.html),[QDesignerMemberSheetExtension](qdesignermembersheetextension.html),[QDesignerPropertySheetExtension](qdesignerpropertysheetextension.html)和QDesignerTaskMenuExtension 。_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(QDesignerTaskMenuExtension)) return 0; if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object)) return new MyTaskMenuExtension(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([QDesignerContainerExtension](qdesignercontainerextension.html)))) { return new MyContainerExtension(widget, parent); } else if (widget && (iid == Q_TYPEID(QDesignerTaskMenuExtension))) { return new MyTaskMenuExtension(widget, parent); } else { return 0; } } ``` 對于使用QDesignerTaskMenuExtension類的完整示例,請參見[Task Menu Extension example](index.htm)。該示例顯示了如何創建一個自定義的widget插件_Qt Designer_,以及如何使用QDesignerTaskMenuExtension類的自定義項添加到_Qt Designer_的任務菜單。 * * * ## Method Documentation ``` QDesignerTaskMenuExtension.__init__ (self) ``` ``` QDesignerTaskMenuExtension.__init__ (self, QDesignerTaskMenuExtension) ``` ``` QAction QDesignerTaskMenuExtension.preferredEditAction (self) ``` [ 返回具有指定擴展名選擇一個插件并按下時調用的動作**F2**。 ](qaction.html) [動作一定要返回的動作之一](qaction.html)[taskActions](qdesignertaskmenuextension.html#taskActions)( ) 。 ``` list-of-QAction QDesignerTaskMenuExtension.taskActions (self) ``` 這種方法是抽象的,應在任何子類中重新實現。 返回任務菜單擴展為一個動作列表將包含在_Qt Designer_的任務菜單當選擇具有指定擴展名的插件。 此功能必須重新實現將動作添加到列表中。
                  <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>

                              哎呀哎呀视频在线观看