Qt 創建停靠懸浮窗口 QDockWidget


1.Qt實現窗口停靠和懸浮使用類QDockWidget,它有兩個重要方法用來設置停靠特性以及停靠區域,

1 dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//設置停靠窗口特性,可移動,可關閉
2 dw1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);//設置可停靠區域為主窗口左邊和右邊

2.將一個空間插入停靠窗體使用setWidget方法

dw1->setWidget(dte);

3.它的構造方法之一是:指定標題和父窗口

QDockWidget *dw1 = new QDockWidget("停靠窗口1",this);//構建停靠窗口,指定父類

4.在主窗口加入懸浮窗使用addDockWidget,並且可以指定停靠區域

addDockWidget(Qt::RightDockWidgetArea,dw1);

5.看創建停靠窗口完整代碼

 1 #include "dockwindow.h"
 2 #include<QTextEdit>
 3 #include <QDockWidget>
 4 
 5 DockWindow::DockWindow(QWidget *parent)  6  : QMainWindow(parent)  7 {  8 
 9     setWindowTitle("停靠窗口"); 10 
11     QTextEdit *te = new QTextEdit("MainWindow",this); 12     te->setAlignment(Qt::AlignCenter); 13  setCentralWidget(te); 14 
15     //停靠窗口1
16     QDockWidget *dw1 = new QDockWidget("停靠窗口1",this);//構建停靠窗口,指定父類
17 
18     dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//設置停靠窗口特性,可移動,可關閉
19 
20     dw1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);//設置可停靠區域為主窗口左邊和右邊
21 
22     QTextEdit *dte = new QTextEdit("DockWindow First"); 23     dw1->setWidget(dte); 24  addDockWidget(Qt::RightDockWidgetArea,dw1); 25 
26     //停靠窗口2
27     QDockWidget *dw2 = new QDockWidget("停靠窗口2",this);//構建停靠窗口,指定父類
28 
29     dw2->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable);//設置停靠窗口特性,可浮動,可關閉
30 
31     QTextEdit *dte2 = new QTextEdit("DockWindow Second"); 32     dw2->setWidget(dte2); 33  addDockWidget(Qt::RightDockWidgetArea,dw2); 34 
35     //停靠窗口3
36     QDockWidget *dw3 = new QDockWidget("停靠窗口3",this);//構建停靠窗口,指定父類
37 
38     dw3->setFeatures(QDockWidget::AllDockWidgetFeatures);//設置停靠窗口特性,具有全部停靠窗口的特性
39 
40     QTextEdit *dte3 = new QTextEdit("DockWindow Third"); 41     dw3->setWidget(dte3); 42  addDockWidget(Qt::RightDockWidgetArea,dw3); 43 
44 
45 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM