下载

此处我使用的是windows下的Qt5.9.8,并给出下载链接,其他需要的小伙伴可以根据链接自行挑选所需的。

​Qt官网下载​​,选择 qt-opensource-windows-x86-5.9.8.exe

​国内镜像站​​,同上选择。

安装

除了常规的下一步下一步之外,选择、

Qt安装及简单配置_对象名

Qt安装及简单配置_静态函数_02

UI文件设计与运行机制

项目管理文件(.pro)

​Qt 之 pro 配置详解​

信号与槽

信号(Signal)就是在特定情况下被发射的事件,例如PushButton最常见的信号就是鼠标单击时发射的clicked()信号,一个ComboBox最常见的信号是选择的列表项变化时发射的currentIndexChanged()信号。

槽(Slot)就是对信号响应的函数。槽就是一个函数,与一般的C++函数是一样的,可以定义在类的任何部分(public、private或protected),可以具有任何参数,也可以被直接调用。槽函数与一般的函数不同的是:槽函数可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行。

信号与槽函数使用​​QObject::connect()​​函数实现的,其基本格式是:

QObject::connect(sender,SIGNAL(signal()),receiver,SLOT(slot()))

connect()是QObject类的一个静态函数,而QObject是所有Qt类的基类,在实际调用时可以忽略前面的限定符,可以直接写为:

QObject::connect(sender,SIGNAL(signal()),receiver,SLOT(slot()))

sender:指发射信号的对象名称;

signal():信号名称;

receiver:指接受信号的对象名称;

slot():槽函数名称。

举例说明:

QObject::connect(btnClose,SIGNAL(clicked()),Widget,SLOT(close()))

规则


  1. 一个信号可以连接多个槽;
  2. 多个信号可以连接同一个槽;
  3. 一个信号可以连接另外一个信号;
  4. 严格情况下,信号与槽的参数个数和类型需要一致,至少信号的参数不能少于槽的参数;
  5. ​在使用信号与槽的类中,必须在类的定义中加入宏Q_OBJECT​​;
  6. 当一个信号的所有槽函数执行完毕后,才会执行发射信号处后面的代码