Qt学习day01

Qt学习day01_第1张图片
创建Qt项目

选择基类有三个选项

  • QMainWindow          #带菜单栏的,主要是在PC下使用
  • QWidget            # 空白窗口
  • QDialog            # 对话框

Qt4与Qt5信号与槽机制的区别

Qt4: QObject::connect(button,SIGNAL(clicked()),this,SLOT(quit()));
Qt5: connect(button,&QPushButton::clicked,this,&QWidget::close);

自定义槽函数

  1. 在Qt4里面,自定义槽函数只能放在public slots下面
  2. 在Qt5里面,没有那么严格,普通的成员函数或者全局函数,静态函数都可以作为槽函数。
  3. 在Qt5里面,槽函数还可以是lambda匿名函数表达式
connect(button,&QPushButton::clicked,
              []()
              {
              }
)

[]的作用是把外部变量传进来

[b4]()
{
  
}
  • [=]: 把外部所有局部变量,类中所有成员通过值传递方式,默认为只读
  • [&]: 把外部所有局部变量,通过址传递
  • [this]: 类中所有成员以值传递方式

Qt头文件没有.h
头文件和类名一样

Qt项目文件

.pro

# 模块
QT       += core gui
# 高于4版本,添加QT+=widgets,为了兼容Qt4
greaterThan(QT_MAJOR_VERSION,4):QT +=widgets
# 应用程序的名字
TARGET=  mike
# 指定makefile的类型,app|lib
TEMPLATE = app
# 源文件
SOURCE += main.cpp\
                  

自定义槽,普通函数的用法
Qt5: 任意的成员函数,普通全局函数,静态函数
槽函数需要和信号一致(参数,返回值)
由于信号都是没有返回值的,所以,槽函数一定没有返回值
信号的参数可以多于槽,但槽的参数不能多于信号的参数

注意:引用lambda表达式时,需要在项目文件中末尾添加CONFIG += C++11

你可能感兴趣的:(Qt学习day01)