QT分局管理:堆疊窗體(三)
在stackdlg.h中新增:
class StackDlg : public QDialog
{
Q_OBJECT
public:
StackDlg(QWidget *parent = nullptr);
~StackDlg();
private:
QListWidget *list;
QStackedWidget *stack;
QLabel *label1;
QLabel *label2;
QLabel *label3;//私有成員
};
在stackdlg.cpp中新增
#include "stackdlg.h"
#include <QHBoxLayout>
StackDlg::StackDlg(QWidget *parent)
: QDialog(parent)
{
setWindowTitle(tr("StackedWidget"));//設定文章視窗
list =new QListWidget(this);//新建一個QListWidget控制元件物件
//插入三個條目,作為選擇項
list->insertItem(0,tr("Window1"));
list->insertItem(1,tr("Window2"));
list->insertItem(2,tr("Window3"));
//建立的三個標籤控制元件物件,作為三層視窗
label1=new QLabel(tr("WindowTest1"));
label2=new QLabel(tr("WindowTest2"));
label3=new QLabel(tr("WindowTest3"));
stack =new QStackedWidget(this);//新建一個堆疊窗體物件
stack->addWidget(label1);
stack->addWidget(label2);
stack->addWidget(label3);
QHBoxLayout *mainlayout;
mainlayout=new QHBoxLayout(this);//
mainlayout->setMargin(5);
mainlayout->setSpacing(5);
mainlayout->addWidget(list);
mainlayout->addWidget(stack,Qt::AlignHCenter);
mainlayout->setStretchFactor(list,1);
mainlayout->setStretchFactor(stack,3);//這裡表示list和stack兩者之間的比例,以上的例子是1:3
connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
}
StackDlg::~StackDlg()
{
}
兩大函式:
mainlayout->setStretchFactor(list,1);//第一個是指向控制元件,第二個>0為可伸縮控制元件,這裡表示list和stack兩者之間的比例,以上的例子是1:3
connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));//實現按選擇選擇窗體
效果展示:
相關文章
- Java堆疊的深度分析及記憶體管理技巧Java記憶體
- 平衡堆疊
- 堆疊圖
- JS 堆疊JS
- 三探堆疊欺騙之Custom Call Stacks
- javascript堆疊記憶體分配的區別JavaScript記憶體
- JS中堆疊記憶體的練習JS記憶體
- windows核心程式設計--記憶體堆疊Windows程式設計記憶體
- C#堆疊(Stack)C#
- 堆疊和記憶體的關係 細說記憶體
- Qt如何寫一個三秒自動消失提示窗,適用於窗體和tableView中QTView
- 益智補劑:Stamets堆疊
- Thrift的網路堆疊
- [golang]如何看懂呼叫堆疊Golang
- QT視窗類QT
- Visual Studio + Qt專案 陣列超界不會報錯。 堆疊 Cookie 檢測程式碼檢測到基於堆疊的緩衝區溢位。QT陣列Cookie
- win10系統中如何設定工作列快速堆疊顯示視窗Win10
- C++ Qt開發:MdiArea多窗體元件C++QT元件
- StackOverflowError堆疊溢位錯誤Error
- 什麼是網路堆疊?
- junkman 遠端堆疊監控
- 華為裝置堆疊原理
- bzoj2253 紙箱堆疊
- iOS crash 日誌堆疊解析iOS
- (js佇列,堆疊) (FIFO,LIFO)JS佇列
- C/C++ Qt MdiArea 多窗體元件應用C++QT元件
- C/C++ Qt TabWidget 實現多窗體建立C++QT
- Qt 把窗體顯示在螢幕的中心QT
- Qt三大視窗基類的差別QMainWindow QWidget QDialogQTAI
- golang: 返回錯誤時列印堆疊Golang
- 資料結構的概念、堆疊資料結構
- 【matplotlib 實戰】--堆疊面積圖
- echarts 堆疊面積階梯圖Echarts
- JS 資料型別和堆疊JS資料型別
- CSS之定位和堆疊屬性CSS
- SQL隱碼攻擊-堆疊注入SQL
- Java堆疊的區別有哪些Java
- Python實現堆疊與佇列Python佇列