• QT学习第一天


    QT开发,需要的一些知识点

    1.构造函数  拷贝构造函数  赋值函数  析构函数

    2.继承----派生类得构造函数

    3.命名空间  引用

    命名空间:

    using  namespace std;

    class  A

    {

             namespace  n1

    {

                       void  f(){}

    }

    。。。。。

    cout  << "hello"<<endl;

    }

    或者   无命名空间则 std::cout<< “hello”<<std::endl;

    g++  file.cpp –Wall   编译C++程序

    5.C++中类内的成员函数默认为私有。。。私有只能类内函数使用

    6.申明一个类的对象(实例)来调用函数。。。或者将函数加一个 static申明为静态函数,就可以直接类名调用

    定义一个类,即产生了一个新的数据类型,类中隐含一个this指针,是本类对象的地址

    例如:A  *p = &a; this相当于*p ,只不过this是类内隐含的,而p是人为声明的

    7.引用:

    int  &n = m; 其中的n 就是 m 的引用。之后n和m的地址和值都相同。

    作用:传参方便  不需要开销

    void  f(const  int  &n) //int &n = m;

    8.构造函数:无返回值,函数名与类名相同,参数可有可无,函数的重载

    当产生对象时,自动调用构造函数。

    A()

    {

             cont <<""<<endl;

    }

    A(const  A  &other)

    {

             cont <<""<<endl;

    }

    A  b(a);或者 A  b=a; 或者定义一个变量  int  c = 10; int  j (c)则调用第二个构造函数

    9.QT

    对话框

    创建可重用的软件模式

    接口:类内的共有的方法。客户调用程序可能使用到的标识符

    实现:

    QT

    类库   已经实现好的函数

    Gnome ----GDK----C

    KDE-----QT------C++

    QT优点:优良的跨平台特性,面向对象,丰富的API,大量的开发文档。

    信号槽:实现空间通信···

    对象树:

    A  *P = new  A;// new的两个作用,分配内存空间和调用构造函数

    delete  p;// 调用了析构函数  堆上的空间回收 不调用则不析构

    p  =  NULL;

    10.配置QT环境变量

    将QT安装包中的3个bin目录路径添加到物品的电脑的path中,分号隔开。

    手动书写一个helloword程序:

    ①     写一个helloword.cpp文档程序

    ②qmake  -progject  生成一个工程文件

    ③qmake 生成一个makefile 为民间

    ④执行mingw32-make

    ⑤debug\hello.cpp执行程序

    11.QT的类的派生图

    12.信号由moc产生,无需在.cpp中实现方法;moc ----Meta object compiler原对象编译器

    13.插槽:是普通的C++成员函数,可以被正常调用。插槽函数也分为三种,public  slots、private  slots和protected  slots

    i信号与槽的关联:  QOject::connect(const  QBject  *sender, const  char *signal , const  QBject  *receiver, const  char *member);

    ii当信号被发射时,与其相关联的槽将被立即执行。

    14.自己定义一个信号处理

    ①头文件中

    signals:

             void  changedValue(const  QString  &text);

    ②定义一个槽

    private  slots:

             void  changedText(const  QString  &text);  //方法实现在cpp中

    ③cpp文件中

    QObject::connect(this,SIGNAL(changeValue(QString)),

                   this,SLOT(changeText(QString)));

    ④接收到信号后的处理

    void SlotWindow::changeText(const QString &text)

    {

    ui->lineEdit->setText(text);

    }

    //发送信号

    void SlotWindow::on_horizontalSlider_valueChanged(int value)

    {

        QString s = QString::number(value);

        emit this->changeValue(s);

    }

  • 相关阅读:
    CF1132G
    CF1129B
    CF1131G
    CF1109D
    CF1110H
    CF1106F
    my.cnf 配置
    mysql 导入导出
    mysql 批量删除表数据
    国内开源镜像站
  • 原文地址:https://www.cnblogs.com/zhou2011/p/2334107.html
Copyright © 2020-2023  润新知