day01

一、QT应用程序框架:

  .pro(工程文件)

  Headers(头文件)

    头文件里添加一些QWedget/QPushButton等一些常用的控件类,也可以添加自建的窗口类。

  Sources(源文件)

    是类的实现文件,里面包括类的实现函数,以及main函数。

    main函数

      

      #include "mainwidget.h"
      #include <QApplication>

      int main(int argc, char *argv[])
      {
          QApplication a(argc, argv);
          #程序主题部分;
          return a.exec();
      }

二、标准信号和槽:

  信号是给槽函数传参的,所以类型、参数应该一样。 

  信号可重载。但使用的时候得转化函数名为不同的名字。也可以用Qt4式的SIGNAL()SLOT()选择信号和槽函数,但槽函数得加Public slots:

三、两个独立的窗口:

  新建子窗口类,在父窗口中定义主窗口。

四、两个窗口互相切换构建思路:

  所有的connect()都是在父类的.cpp文件里写的;

  父窗口切换到子窗口可以直接写;

  子窗口切换到父窗口,得先在子类中定义一个Signal(),一个Send();再在子类中通过connect()将Signal转成子窗口发送的信号;最后在主类中定义一个dealsignal(),用来实现父窗口到子窗口的切换,最后通过connect()处理子窗口发送过来的信号。

五、Lamda函数

  可以使接收到信号后在connect里直接执行动作,而不用非得在外部新建常函数。

 //Lambda表达式, 匿名函数对象
 //C++11增加的新特性, 项目文件: CONFIG += C++11
[] () mutable //可使匿名函数在内部改变外部变量的值
{
            // = :把外部所有局部变量、类中所有成员以值传递方式
            // this: 类中所有成员以值传递方式
            // & : 把外部所有局部变量, 引用符号
}
原文地址:https://www.cnblogs.com/Songhe/p/10009670.html