QT学习——day2

QT学习——day2

#include "mywidget.h"
#include "ui_mywidget.h"
#include "testwidget.h"
#include "testdialog.h"
#include "testmainwindow.h"

Mywidget::Mywidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Mywidget)
{
    ui->setupUi(this);
    //b2=new QPushButton("hellow");
    //b2->show();
#if 0
    //显示当前窗口的时候,显示另外一个窗口TestWidget
    //创建窗口对象,没有给w指定父对象
    //在QT中显示窗口必须调用show()方法
    //在创建窗口中如果有父窗口就可以不需要用show(0方法
    TestWidget *w =new TestWidget;
    w->show();
#else
     TestWidget *w =new TestWidget();
     w->show();
     //MainWindow类型不能依附与父窗口显示,只能单独显示
     TestMainWindow *win= new TestMainWindow();
     win->show();

#endif
#if 0
     //创建对话框窗口,show()进行非模态显示
     TestDialog *dlg=new TestDialog();
     dlg->show();
#else
     TestDialog *dlg=new TestDialog();
     //Dialog窗口不能依附父窗口实现,只能单独显示
     //模态,exec()阻塞程序的执行,进行模态显示
     dlg->exec();
#endif
}


Mywidget::~Mywidget()
{
    delete ui;
}

this指针指向的是当前的主窗口,往哪一级嵌套,就将指针指向哪一级(父窗口)。

QT中的坐标体系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-71qOdbbB-1612277130663)(C:\Users\流光拾贝\AppData\Roaming\Typora\typora-user-images\image-20210120112340584.png)]

每一个子窗口的以左上角的顶点决定窗口的位置,左上角顶点的坐标参照与其父窗口,以此类推。

QT的内存回收机制

在qt中的Qwidget与Qobject中的构造函数里都有一个指向父对象的指针形参,故若继承与这两个类的子类,在定义对象时可以执行此构造函数与其父对象进行绑定,从而在其父对象执行结束的时候,它也随之结束,调用析构函数析构回收内存。

  TestDialog *dlg=new TestDialog(this);
 dlg->exec();

如上:添加this指针以后关闭主窗口其也随之关闭,若不加this指针,则关闭主窗口其不会随之关闭,而需单独关闭。

Qdebug的输出机制

 qDebug()<<"fwefwef"<<"fwefweaf";

单独关闭。

Qdebug的输出机制

 qDebug()<<"fwefwef"<<"fwefweaf";

若要在控制台输出而不是终端则在.pro文件后加console;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值