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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 8.7 錨接窗口 錨接窗口又被稱作是停靠窗口,是指用戶可以在工具欄區域內或區域間隨意移動的窗 口。用戶可以對停靠窗口解鎖,使該窗口浮在應用程序頂部,也可以使窗口最小化。 錨接窗 口是由 QDockWidget 類提供的。通過 QDockWidget 實例化并添加窗體,可以創建自定義 錨 接窗口。如果錨接窗口占據水平區域(例如,在主窗口的頂部) ,那么窗體將會橫向排列; 如果占據垂直區域(例如,在主窗口的左側),那么窗體將會縱向排列。 錨接區域可嵌套, 以允許錨接窗口堆疊為多行或多列。 ![](https://box.kancloud.cn/2016-01-22_56a1a1551aa66.png) 圖 8-26 停靠區域包括三個停靠窗口,放在垂直標簽頁中; 其中一個停靠窗口帶有自定義的標題欄和窗體控件。 停靠窗口可顯示垂直的標題欄,窗口之前還可共享區域 – 當發生區域共享時,停靠 窗口將容納在標簽頁中。 還可給停靠窗體設置風格獨特的標題欄和窗體控件(參見上面的 圖 8-26 ) 有些應用程序(包括 Qt Designer 和 Qt Linguist )經常使用錨接窗口。 QMainWindow 為操作者提供保存并恢復錨接窗口和工具欄的位置的功能,這樣,應用程序可 以輕松恢復用戶首選工作環境。 ### 8.7.1 創建錨接窗口的方法和流程 在主窗口程序中創建錨接窗口的一般流程如下: 1\.創建錨接窗體 創建一個 QDockWidget 對象的錨接窗體。 2\.設置此錨接窗體的屬性 通常調用 setFeatures()及 setAllowedAreas()兩種方法。 3\.新建一個要插入錨接窗體的窗口部件 常用的一般為 QListWidget 和 QTextEdit。 4\.把窗口部件插入錨接窗體 調用 QDockWidget 的 setWidget()方法。 5\.在 MainWindow 中加入此停靠窗體 使用 addDockWidget()方法。 以下是一段示例代碼,演示了上述方法和流程。 ``` // 停靠窗口 QDockWidget *dock = new QDockWidget(tr("DockWindow"), this ); dock-&gt;setFeatures( QDockWidget::DockWidgetMovable ); dock-&gt;setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea); QTextEdit *te = new QTextEdit(); te-&gt;setText(tr("Dock Window!")); dock-&gt;setWidget( te ); addDockWidget( Qt::RightDockWidgetArea, dock ); ``` ### 8.7.2 設置錨接窗體狀態的方法 主要是 setAllowedAreas()和 setFeatures()方法的使用。 其中,setAllowedAreas()方法設置停靠窗體可停靠的區域,原型如下: ``` void setAllowedAreas( Qt::DockWidgetAreas areas ); ``` 參數 areas 由 Qt::DockWidgetAreas 枚舉變量指定了錨接窗體可停靠區域,包括表 8-6 列舉的幾種。 表 8-6 錨接窗體的可停靠區域 | Qt::LeftDockWidgetArea | 可在主窗口的左側停靠 | |:--- |:--- | | Qt::LeftDockWidgetArea | 可在主窗口的右側停靠 | | Qt::RightDockWidgetArea | 可在主窗口的頂端停靠 | | Qt::BottomDockWidgetArea | 可在主窗口的底部停靠 | | Qt::AllDockWidgetAreas | 可在主窗口任意(以上 4 個)部位停靠 | | Qt::NoDockWidgetArea | 只可停靠在插入處 | 以上各種情況可以疊加使用,采用或(|)的方式進行綜合設定。 setFeatures()方法設置停靠窗體的特性,原型如下: ``` void setFeatures(DockWidgetFeatures features); ``` 參數 features 由 QDockWidget::DockWidgetFeature 枚舉變量指定錨接窗體的特性, 表 8-7 列舉了所有的情況。 表 8-7 錨接窗體的特性 | QDockWidget::DockWidgetClosable | 停靠窗可關閉,右上角的關閉按鈕 | |:--- |:--- | | QDockWidget::DockWidgetMovable | 停靠窗可移動 | | QDockWidget::DockWidgetFloatable | 停靠窗可浮動 | | QDockWidget::DockWidgetFeatures | 此參數表示擁有停靠窗的所有特性 | | QDockWidget::NoDockWidgetFeature | 不可移動、不可關閉、不可浮動 | 此參數也可采用或(|)的方式對停靠窗進行特性的設定。
                  <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>

                              哎呀哎呀视频在线观看