QSplitter簡單使用


先上結果圖:

官方文檔說明:

The QSplitter class implements a splitter widget; A splitter lets the user control the size of child widgets by dragging the boundary between them. Any number of widgets may be controlled by a single splitter. The typical use of a QSplitter is to create several widgets and add them using insertWidget() or addWidget(). 也就是說QSplitter 是一個分離控件的一個UI控件。被分離的控件之間的邊界可以被調整,常見的創建方式是:

      QSplitter *splitter = new QSplitter(parent);
      QListView *listview = new QListView;
      QTreeView *treeview = new QTreeView;
      QTextEdit *textedit = new QTextEdit;
      splitter->addWidget(listview);
      splitter->addWidget(treeview);
      splitter->addWidget(textedit);

在文檔中值得注意的是:添加 QLayout進入QSplitter(或者是設置layout 把splitter作為layout的parent)是不被支持的。可以使用addWidget代替之。

 

 

上代碼:

 1 void
 2 MainWindow::setUIComponent()
 3 {
 4     QSplitter * pSplitter = new QSplitter(Qt::Horizontal, ui->centralWidget);
 5 
 6     ///--------------------------------------------------------------
 7 
 8     QSplitter * LeftSplitter = new QSplitter(Qt::Vertical, pSplitter);//可以使用設置parent來代替addWidget,初始的方式是橫向的
 9 
10     QTextEdit * RightEdText = new QTextEdit(pSplitter);
11     RightEdText->setText("right - all");
12 
13     ///--------------------------------------------------------------
14 
15     QTextEdit * LeftTextEditUp = new QTextEdit(LeftSplitter);
16     LeftTextEditUp->setText("left - up");
17     QTextEdit * LeftTextEditDown = new QTextEdit(LeftSplitter);
18     LeftTextEditDown->setText("left - down");
19 
20     pSplitter->setStretchFactor(0,4);//設置比例
21     pSplitter->setStretchFactor(1,1);
22 
23     LeftSplitter->setStretchFactor(0,4);
24     LeftSplitter->setStretchFactor(1,1);
25 }

 


免責聲明!

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



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