Qt视频学习笔记4(坐标系统 、内存回收、菜单栏、工具栏、核心控件和浮动窗口)

本文详细介绍了使用Qt创建主窗口(MainWindow)的过程,包括菜单栏、工具栏、状态栏等核心组件的设置方法,并展示了如何通过信号与槽机制实现控件间的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.对于父窗口(主窗口),坐标系统相对于屏幕

原点:相对于屏幕左上角     x:往右递增   y:往下递增

2,前提条件:1)指定父对象后 2)直接或间接继承于QObject

子对象如果是动态分配空间的new,不需要手动释放delete ,系统会自动释放

3.MainWindow:

菜单栏、工具栏、状态栏、核心控件、浮动窗口

MainWindow::MainWindow(QWidget*parent)

    : QMainWindow(parent)
{
    QMenuBar *mbar=menuBar();//菜单栏
    QMenu *pFile= mbar->addMenu("文件"); //添加菜单
    QAction *pNew=pFile->addAction("新建");  //添加菜单项,添加动作
    connect(pNew,&QAction::triggered,
            [=]()
    {
        qDebug()<<"新建被按下";
    }
    );
   pFile->addSeparator(); //添加分割线
    QAction *pOpen=pFile->addAction("打开");
    QToolBar *toolBar=addToolBar("toolBar"); //工具栏,菜单项的快捷方式
    toolBar->addAction(pNew);
    QPushButton *b=new QPushButton(this);
    b->setText("^_^");    //添加小控件
    toolBar->addWidget(b);
    connect(b,&QPushButton::clicked,
            [=]()
    {
        b->setText("123");
    }
            );
QStatusBar *sBar=statusBar();  //状态栏
    QLabel *label=new QLabel(this);
    label->setText("Normal text file");
    sBar->addWidget(label);  //从左往右添加
    sBar->addPermanentWidget(new QLabel("3",this));  //从右往左添加
QTextEdit *textEdit=new QTextEdit(this);   //核心控件
    setCentralWidget(textEdit);
    QDockWidget *dockwidget=new QDockWidget(this);   //浮动窗口
    addDockWidget(Qt::RightDockWidgetArea,dockwidget);
    QTextEdit *textedit=new QTextEdit(this);   //给浮动窗口添加控件
    dockwidget->setWidget(textedit);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值