栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

qt(01) : 简单例子

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

qt(01) : 简单例子

目录

1.   简单示例:空界面

2.   显示按钮

3.   对象树


1.   简单示例:空界面

main.cpp

#include   // 包含一个应用程序类的头文件

#include "mywidget.h"

int main(int argc, char *argv[])
{
    // 所有命令行参数都传到这个里面。a是应用程序对象,有且只能有1个
    QApplication a(argc, argv);

    // 显示窗口。show()方法是以顶层的方式弹出控件
    myWidget w;
    w.show();
    
    // 进入消息循环,代码阻塞
    return a.exec();
}

mywidget.h


#ifndef MYWIDGET_H
#define MYWIDGET_H

#include   // 包含头文件 QWidget 窗口类

class myWidget : public QWidget
{
    Q_OBJECT        // Q_OBJECT宏,允许类中使用信号和槽的控制

public:
    myWidget(QWidget *parent = 0);    // 有参构造函数,默认值是nullptr
    ~myWidget();
};

#endif



#include "mywidget.h"

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
}

myWidget::~myWidget()
{
}

2.   显示按钮

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include   // 包含头文件 QWidget 窗口类

class myWidget : public QWidget
{
    Q_OBJECT        // Q_OBJECT宏,允许类中使用信号和槽的控制

public:
    myWidget(QWidget *parent = 0);    // 有参构造函数,默认值是nullptr
    ~myWidget();
};

#endif



#include "mywidget.h"

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    // 创建一个按钮
    QPushButton * btn = new QPushButton;

    // btn->show();    // show()以顶层方式弹出窗口控件
    // 让 btn 对象依赖在myWidget窗口中
    btn->setParent(this);

    // 显示文本
    btn->setText("button1");
}

myWidget::~myWidget()
{
}

3.   对象树

        当创建的对象在堆区时,如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放的操作。因为会将所有对象放入对象树中。用对象树一定程度上简化了Qt的内存回收机制。

        实现方式:

        当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是parent指针,也就是父对象指针。这相当于,在创建QObject对象时,可以提供一个父对象,我们创建的这个QObject对象会自动添加到其父对象的children()列表。

        当父对象析构时,这个列表中的所有对象也会被析构。(注意,这个父对象并不是继承意义上的父类)。这种机制在GUI程序设计中相当有用。例如一个按钮有一个QShortcut快捷键对象作为其子对象。当我们删除按钮的时候,这个快捷键理应被删除,这是合理的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/690950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号