stackdlg.h

#ifndef STACKDLG_H

#define STACKDLG_H

#include

#include

#include

#include

#include "ui_stackdlg.h"

class StackDlg : public QDialog

{

Q_OBJECT

public:

StackDlg(QWidget *parent = 0);

~StackDlg();

private:

Ui::StackDlgClass ui;

QListWidget *list;

QStackedWidget *stack;

QLabel *label1;

QLabel *label2;

QLabel *label3;

};

#endif // STACKDLG_H

stackdlg.cpp

#include "stackdlg.h"

#include

StackDlg::StackDlg(QWidget *parent)

: QDialog(parent)

{

ui.setupUi(this);

setWindowTitle("StackWidget");

list = new QListWidget(this);

list->insertItem(0, "windows1");

list->insertItem(1, "windows2");

list->insertItem(2, "windows3");

label1 = new QLabel("label1");

label2 = new QLabel("label2");

label3 = new QLabel("label3");

stack = new QStackedWidget(this);

stack->addWidget(label1);

stack->addWidget(label2);

stack->addWidget(label3);

QHBoxLayout *mainLayout = new QHBoxLayout(this);

mainLayout->setMargin(5);

mainLayout->setSpacing(5);

mainLayout->addWidget(list);

mainLayout->addWidget(stack, 0, Qt::AlignHCenter);

mainLayout->setStretchFactor(list, 1);

mainLayout->setStretchFactor(stack, 3);

connect(list, SIGNAL(currentRowChanged(int)), stack, SLOT(setCurrentIndex(int)));

}

StackDlg::~StackDlg()

{

}

119a36134f580a13b6e1e0c8715b3934.png

qdock.cpp

#include "qdock.h"

#include

#include

Qdock::Qdock(QWidget *parent)

: QMainWindow(parent)

{

ui.setupUi(this);

setWindowTitle("Test");

QTextEdit *te = new QTextEdit(this);

te->setText("Main Window");

te->setAlignment(Qt::AlignCenter);

setCentralWidget(te);

QDockWidget *dock = new QDockWidget("Dock Window1", this);

dock->setFeatures(QDockWidget::DockWidgetMovable);

dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

QTextEdit *te1 = new QTextEdit;

te1->setText("Dock Window1");

dock->setWidget(te1);

addDockWidget(Qt::RightDockWidgetArea, dock);

dock = new QDockWidget("Dock Window2", this);

dock->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable);

QTextEdit *te2 = new QTextEdit;

te2->setText("Dock Window2");

dock->setWidget(te2);

addDockWidget(Qt::RightDockWidgetArea, dock);

dock = new QDockWidget("Dock Window3", this);

dock->setFeatures(QDockWidget::AllDockWidgetFeatures);

QTextEdit *te3 = new QTextEdit;

te3->setText("Dock Windo3");

dock->setWidget(te3);

addDockWidget(Qt::RightDockWidgetArea, dock);

}

Qdock::~Qdock()

{

}

4279e9226cdb65e7f7b52abb19298b7d.png

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐