关联:
bool connect ( const?QObject?*?sender, const?char?*?signal, const QObject * receiver, const char * slot, Qt::ConnectionType?type?= Qt::AutoConnection)

1.一个信号 对应槽函数
connect(&a1,SIGNAL(mysignals()),&b1,SLOT(mySlot()));

2.一个信号 对应多个槽函数
connect(&a1,SIGNAL(mysignals()),&b1,SLOT(mySlot()));
connect(&a1,SIGNAL(mysignals()),&c1,SLOT(mySlotccc()));
connect(&a1,SIGNAL(mysignals()),&d1,SLOT(mySlotcccddd()));

3.多个信号 对应一个槽函数
connect(&a1,SIGNAL(mysignals()),&b1,SLOT(mySlot()));
connect(&b1,SIGNAL(mysignalsb()),&b1,SLOT(mySlot()));
connect(&c1,SIGNAL(mysignalsc()),&b1,SLOT(mySlot()));

4.一个信号 对应一个信号

connect(&c1,SIGNAL(mysignalsc()),&b1,SIGNAL(mysignal()));

注意点:
1.继承 QObject , Q_OBJECT宏
2.public slots:包含了任何信号都可以相连的slots。
protected slots:包含了该类和它的子类的信号才能连接的slots。就是说这些slots只是类的实现的一部分,而不是它和外界的接口。
private slots:包含了只有该类本身的信号可以连接的slots。就是说这个类非常紧密,甚至它的子类都没有获得连接该类中slots的权利。

win.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include<QTimer>
#include<QTime> namespace Ui {
class MainWindow;
} class MainWindow : public QMainWindow
{
Q_OBJECT public:
explicit MainWindow(QWidget *parent = );
~MainWindow(); private:
Ui::MainWindow *ui;
QTime *mytime;
QDate *mydate;
QTimer *mytimer;
public slots:
void mytimes(); }; #endif // MAINWINDOW_H
win.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QTime>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
mytime = new QTime(); mydate = new QDate();
ui->label_2->setText(mydate->currentDate().toString("yyyy/MM/dd"));
mytimer = new QTimer();
connect(mytimer,SIGNAL(timeout()),this,SLOT(mytimes()));
mytimer->start();
} MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::mytimes()
{ ui->label->setText(mytime->currentTime().toString("hh:mm:ss"));
ui->label_2->setText(mydate->currentDate().toString("yyyy/MM/dd")); }

qt的信号与槽函数的更多相关文章

  1. QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)

    背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h" ...

  2. Qt 信号和槽函数

    信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性.当某个信号被发射,就需要调用与之相绑定的槽函数.这与Windows下的消息机制类似,消息机制是基于回调函数.一个回调即是一个函数的 ...

  3. 【QT】无需写connect代码关联信号和槽函数

    对于一些简单的事件判别,如点击按钮. 无需写代码关联信号和槽函数. connect(ui->Btnshowhello,SIGNAL(clicked(bool)),this,SLOT(Btnsho ...

  4. QT信号和槽函数学习笔记

    //connect 函数有4个参数 分别是 发送者 信号.接受者 ,槽 //connect(sender,signal,receiver,slot) /* * 信号和槽 * 信号 就是一个普通的函数 ...

  5. Qt之自定义信号和槽函数

    自定义信号和槽函数: 1.类的声明和实现分别放在.h和.cpp文件中: 2.类声明包含Q_OBJECT宏: 3.信号只要声明不要设计其的实现函数 4.发射信号用emit关键字 5.自定义槽的实现与普通 ...

  6. qt中信号与槽机制

    一. 简介 就我个人来理解,信号槽机制与Windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁. 信号和槽机制是 Qt 的核心机制,可以让编程人员将互不 ...

  7. QT 的信号与槽

    转载: QT 的信号与槽机制介绍 QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象.易于扩展.真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 ...

  8. QT的信号与槽机制介绍

      信号与槽作为QT的核心机制在QT编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念.元对象工具以及在实际使用过程中应注意的一些问题. QT是一个跨平台的C++ GUI应用构架,它提供了丰富的窗 ...

  9. Qt 的信号与槽机制介绍(10个要注意的问题)

    QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象.易于扩展.真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT ...

随机推荐

  1. UE4 custom depth 自定义深度

    用途1: 半透明材质中实现遮挡Mesh自己其他部分的效果. 不遮挡效果如下: 遮挡后效果如下: 实现方法: 深度信息是越远值越大,使用两个Mesh,一个正常渲染,另一个渲染到custom depth ...

  2. 百度分享到qq空间失败

    QQ做了限制的,localhost是不会返回结果的,要用正式域名访问就可以了

  3. 常用 Git 命令清单

    http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命 ...

  4. 如何看apache的版本号

    在服务器上输入httpd -v就可以看到 在服务器上运行apachectl -v命令即可 Server version: Apache/2.2.3 Server built: Feb 25 2012 ...

  5. WinSCP怎么导入filezilla中的站点?

    WinSCP是一款优秀的图形界面,远程文件管理工具,其出色的图形化界面与windows完美集成,是运用在windows上与远程服务器安全传输文件的软件之一 工具/原料 winscp 方法/步骤 下载. ...

  6. CUDA与OpenGL互操作

    当处理较大数据量的时候,往往会用GPU进行运算,比如OpenGL或者CUDA.在实际的操作中,往往CUDA实现并行计算会比OpenGL更加方便,而OpenGL在进行后期渲染更具有优势.由于CUDA中的 ...

  7. Core Graphics 和Quartz 2D的区别

    quartz是一个通用的术语,用于描述在IOS和MAC OS X中整个媒体层用到的多种技术 包括图形.动画.音频.适配.  Quart 2D 是一组二位绘图和渲染API,Core Graphic会使用 ...

  8. jquery ui-----弹出窗口 dialog

    jquery ui 提供了强大的dialog功能,基本能满足开发的功能. 先上一个简单的例子: [代码] <script> $(function() {   $( "#dialo ...

  9. flask_route错误:AttributeError: 'function' object has no attribute 'route'

    问题: 路由完全正确,当只有一个名为home的函数处理这个路由时候,下一个路由处理函数,总是提示没有这个rotue属性 Traceback (most recent call last): File ...

  10. linux各种顔色代表

    @linux中的各文件的颜色表示什么 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 红色闪烁:表示链接的文件有问题 黄色:表示设备文件 灰色:表示其它 ...