qt停靠窗创建

停靠窗口在界面编辑中经常使用到,其创建过程一般如下:

  1、创建一个QDockWidget对象的停靠船体

  2、设置此停靠窗体的属性,如setFeatures() 及setAllowedAreas().

  3、新建一个要插入的停靠窗体控件。常常有QListWidget、QTextEdit.

4、将控件插入到停靠窗体,调用QDockWidget的setWidget()方法。

  5、使用addDockwidget()方法在MianWindow中加入停靠窗体。

如下实例:

        首先创建一个Qt widget Application ,基类选QMainwindow。

    

   此处,需要注意的是,创建界面选择需要取消,无需选中。直接点击下一步,完成工程创建。

    工程创建完成后,生成 dockwindow.h/cpp main.cpp 以及 dockwidget.pro文件。



在完成如上步骤后,在DcokWindow类中添加停靠窗体,代码如下:


#include "dockwindow.h"
#include <QTextEdit>
#include <QDockWidget>
 
DockWindow::DockWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //设置主窗体的标题栏名词
    setWindowTitle("DockWindows");
    //定义一个QTextEdit 对象
    QTextEdit* text = new QTextEdit(this);
    text->setText(tr("Mian Window"));
    text->setAlignment(Qt::AlignCenter);
    //将此QTextEdit 设为主窗体的中央窗体
    setCentralWidget(text);
    //dockwindow 1
    //创建一个QDockWidget对象停靠窗体
    QDockWidget* dock1 = new QDockWidget(tr("DockWindow1"),this);
    //设置此停靠窗体的属性
    dock1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);
    dock1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    //新建一个要插入停靠船体的控件QTextEdit
    QTextEdit* edit1 = new QTextEdit();
    edit1->setText(tr("Window1,the dock widget can be moved between docks and the user "));
    //将控件插入到停靠窗体
    dock1->setWidget(edit1);
    //在MainWindow中添加停靠窗体
    addDockWidget(Qt::RightDockWidgetArea,dock1);
 
    //dockwindow2
 
    QDockWidget* dock2 = new QDockWidget(tr("DockWindow2"),this);
    dock2->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);
    dock2->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    QTextEdit* edit2 = new QTextEdit();
    edit2->setText(tr("Window2,the dock widget can be moved between docks and the user "));
    dock2->setWidget(edit2);
    addDockWidget(Qt::RightDockWidgetArea,dock2);
}

之后直接编译运行,结果如下:



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值