qt QDockWidget QStackWidget的简单使用
Qt 简单 使用
2023-09-27 14:26:13 时间
stackdlg.h
#ifndef STACKDLG_H #define STACKDLG_H #include <QtWidgets/QDialog> #include <QListWidget> #include <QStackedWidget> #include <QLabel> #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 <QHBoxLayout> 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() { }
qdock.cpp
#include "qdock.h" #include <QTextEdit> #include <QDockWidget> 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() { }
相关文章
- Qt之自定义界面(窗体缩放)
- QT中的简单而强大的信号与槽机制
- 【Qt开发】几个傻不拉几关于char*和const char*的不兼容问题
- 【Qt开发】QT中显示图像数据
- 极客日报:豆瓣回应删除用户相册图片:低概率bug;传阿里平头哥校招IC岗在成都开出50万天价薪资;Qt 6.2.1正式发布
- C++ MFC QT OpenCV车牌识别
- Qt 5.2 Creator 和 vs2012 QT 插件的安装
- 第15.41节、PyQt(Python+Qt)入门学习:输入部件QComboBox组合框功能详解
- PyQt(Python+Qt)学习随笔:QListWidget的addItems增加多项的方法
- PyQt(Python+Qt)学习随笔:部件的minimumSize、minimumSizeHint之间的区别与联系
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的windowTitle和windowOpacity属性
- Qt多线程学习:创建多线程
- QT多线程简单使用
- 下列软件包有未满足的依赖关系: cmake-qt-gui : 依赖: cmake (= 3.10.2-1ubuntu2) E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依
- XWindow、Server、Client和QT、GTK之间的关系
- qt--QByteArray字节数组
- Qt 动画之二:简单实例
- Qt+FFmpeg 简单实现视频播放
- Qt应用程序主窗口之二:拖放操作与打印文档