在Qt中,使用QDockWidget来创建浮动窗口。而Center Widget则可以是任何能放到中间区域的控件。下面直接上代码来进行说明。 QMenuBar> #include <QMenu> #include <QToolBar> #include <QStatusBar> #include <QDockWidget 创建一个状态栏 this->setStatusBar(status_bar); //设置为MainWindow的状态栏 //浮动窗口 QDockWidget *dock_widget = new QDockWidget("浮动窗口",this); //创建悬浮窗口 this->addDockWidget(Qt::BottomDockWidgetArea
image.png -- coding: utf-8 -- ''' 【简介】 PyQt5中 QDockWidget 例子 ''' import sys from PyQt5.QtCore import bar.addMenu("File") file.addAction("New") file.addAction("save") file.addAction("quit") self.items = QDockWidget
Qt的嵌套布局由QDockWidget完成,用Qt Creator拖界面得到的dock布置形式比较固定,不能得想要的任意组合形式,要得到如下图所示的效果,后续布局必须通过代码来完成。 ? * dockwidget) void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget * dockwidget, Qt: void QMainWindow::tabifyDockWidget(QDockWidget * first, QDockWidget * second) 1 1 设置dock嵌套布局 此函数是设置嵌套布局的关键 splitDockWidget splitDockWidget void QMainWindow::splitDockWidget(QDockWidget * first, QDockWidget * 嵌套方向是从左到右,从上到下,也就是QDockWidget * first相对于QDockWidget * second永远在左边或者上边。
目录 1、QTabWidget容器控件类 2、QStackedWidget容器控件类 3、QDockWidget容器控件类 ---- 有时候我们可能会面临这样一种情况:所开发的程序包含了太多的控件,导致一个窗口装载不下或者装载的控件太多而不美观 main__': app = QApplication(sys.argv) demo = StackedExample() demo.show() sys.exit(app.exec_()) 3、QDockWidget 容器控件类 QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中。 QMainWindow类的主窗口对象保留有一个用于停靠窗口的区域,这个区域在控件的中央周围,如下图所示: QDockWidget控件在主窗口内可以移动到新的区域。 QDockWidget类中的常用方法如下表所示: 通过示例,了解QDockWidget容器控件类的使用方法,效果如下所示: 示例中,顶层窗口是一个QMainWindow对象,QTextEdit对象是它的中央小控件
创建浮动窗口(指定标题和父对象) QDockWidget *dockWidget = new QDockWidget("浮动窗口1", this); // 3. *dockLeft = new QDockWidget("左侧面板", this); QDockWidget *dockRight = new QDockWidget("右侧面板", this *dock1 = new QDockWidget("文件面板", this); QDockWidget *dock2 = new QDockWidget("属性面板", this); QDockWidget *dock3 = new QDockWidget("日志面板", this); // 添加内容 dock1->setWidget(new QListWidget 创建第二个浮动窗口(文件属性) QDockWidget *dockProp = new QDockWidget("文件属性", this); QTableWidget *propTable
一、浮动窗口的创建 浮动窗口的创建是通过 QDockWidget 类提供的构造方法 QDockWidget() 函数动态创建的。 // 给主窗口添加一个子窗口 QDockWidget* dockWidget =new QDockWidget(); // 使用addDockwidget方法,把浮动窗口加入到子窗口中 this->addDockWidget QDockWidget* dockWidget = new QDockWidget(); // 使用 addDockWidget 方法, 把浮动窗口加入到子窗口中. this->addDockWidget *dock = new QDockWidget(tr("窗口一"),this);//新建QDockWidget类对象 dock->setFeatures(QDockWidget::DockWidgetMovable (tr("窗口二"),this); //新建QDockWidget类对象 dock->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget
目录 1、QTabWidget容器控件类 2、QStackedWidget容器控件类 3、QDockWidget容器控件类 有时候我们可能会面临这样一种情况:所开发的程序包含了太多的控件,导致一个窗口装载不下或者装载的控件太多而不美观 main__': app = QApplication(sys.argv) demo = StackedExample() demo.show() sys.exit(app.exec_()) 3、QDockWidget 容器控件类 QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中。 QMainWindow类的主窗口对象保留有一个用于停靠窗口的区域,这个区域在控件的中央周围,如下图所示: QDockWidget控件在主窗口内可以移动到新的区域。 QDockWidget类中的常用方法如下表所示: 通过示例,了解QDockWidget容器控件类的使用方法,效果如下所示: 示例中,顶层窗口是一个QMainWindow对象,QTextEdit对象是它的中央小控件
setFixedWidth(200); ui->dockWidgetProperty->setFixedWidth(220); ui->dockWidgetControl->setFeatures(QDockWidget ::DockWidgetMovable | QDockWidget::DockWidgetFloatable); ui->dockWidgetProperty->setFeatures(QDockWidget ::DockWidgetMovable | QDockWidget::DockWidgetFloatable); ui->dockWidgetData->setFeatures(QDockWidget ::DockWidgetMovable | QDockWidget::DockWidgetFloatable); this->tabifyDockWidget(ui->dockWidgetControl
OTabBar或QToolBox的选项卡 选项卡栏,选项卡部件,可停靠窗口 ::tear QTabBar的可分离指示器 选项卡栏,选项卡部件,可停靠窗口 ::close-button QTabBar或QDockWidget 上的关闭按钮 选项卡栏,选项卡部件,可停靠窗口 ::float-button QDockWidget的浮动按钮 选项卡栏,选项卡部件,可停靠窗口 ::title QDockWidget或QGroupBox
浮动窗⼝是通过 QDockWidget类 来实现浮动的功能。浮动窗口⼀般是位于核心部件的周围,可以有多个。 1. 浮动窗口的创建 浮动窗⼝的创建是通过 QDockWidget类 提供的构造⽅法 QDockWidget()函数 动态创建的;示例如下: MainWindow::MainWindow(QWidget QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); // 浮动窗口 QDockWidget * dockWidget = new QDockWidget("浮动窗口", this); // 将浮动窗口置于当前窗口中 addDockWidget(Qt::BottomDockWidgetArea 可以通过 QDockWidget类 中提供 setAllowedAreas() 函数设置其允许停靠的位置。
QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //创建浮动窗口并将其设置在当前窗口中 QDockWidget * dw = new QDockWidget("浮动窗口",this); addDockWidget(Qt::BottomDockWidgetArea,dw); //设置浮动窗口四个位置都可停靠
titleBar->setObjectName("titleBar\_" + objName); titleBar->setTitle(title); //实例化停靠窗体 QDockWidget \*dockWidget = new QDockWidget; dockWidget->setObjectName("dockWidget\_" + objName); dockWidget App::MoveEnable) { dockWidget->setFeatures(QDockWidget::DockWidgetClosable); } / RightDockWidgetArea | Qt::BottomDockWidgetArea); widgets << dockWidget; } void MainWindow::addWidget(QDockWidget
4.6.1QListWIdget和QToolButton_布局 29:08 P21 4.6.2QListWIdget和QToolButton_功能 38:07 P22 4.7.1QTreeWidget和QDockWidget _布局 20:10 P23 4.7.2QTreeWidget和QDockWidget_实现 48:54 P24 4.8QTableWidget的使用 1:01:51 P25 5.1Model、View结构
When you set the widget of a QDockWidget or aQScrollArea (with QDockWidget::setWidget() andQScrollArea 当设置QDockWidget or a QScrollArea widget时(用QDockWidget::setWidget() andQScrollArea::setWidget()),布局必须已经被设置到
看下面代码: FootageListDock::FootageListDock(QWidget* parent) : QDockWidget(parent) { setObjectName("footagelistDock
放置在右侧 stBar->addPermanentWidget(label2); 铆接部件(浮动窗口)创建演示: 放置区域的参数: //铆接部件(浮动窗口)可以有多个 QDockWidget * dockWidget=new QDockWidget("浮动",this); //停靠在核心部件下部 addDockWidget(Qt::BottomDockWidgetArea
的一些功能模块窗口没有使用设计器的原因 .ui文件与C++类之间的关系就不说了, 之前都用过 功能面板 通过Tiled截图来看, 其它功能窗口布局都很简单, 而且都是Dock Window 所以在代码中可以看到它们都从QDockWidget
this); + stBar->addWidget(label); + stBar->addPermanentWidget(label1); 铆接部件 QDockWidget * 铆接部件可以有多个 + QDockWidget * dockWidget = new QDockWidget("浮动",this); + addDockWidget(Qt::BottomDockWidgetArea
容器:装载更多控件 QTabWidget QStackedWidget QDockWidget 多文档界面 QMdiArea QScrollBar learn from 《PyQt5 快速开发与实战》 QApplication(sys.argv) demo = qstackedwidget_demo() demo.show() sys.exit(app.exec_()) QDockWidget qdock_demo.py # @desc : from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QMainWindow, QHBoxLayout, QDockWidget Open') file.addAction('Save') self.setCentralWidget(QTextEdit()) self.items = QDockWidget
QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //创建浮动窗口并将其设置在当前窗口中 QDockWidget * dw = new QDockWidget("浮动窗口",this); addDockWidget(Qt::BottomDockWidgetArea,dw); //设置浮动窗口四个位置都可停靠