Chinaunix首页 | 论坛 | 博客
  • 博客访问: 390292
  • 博文数量: 83
  • 博客积分: 1650
  • 博客等级: 上尉
  • 技术积分: 861
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-18 18:22
文章分类
文章存档

2021年(1)

2016年(1)

2015年(2)

2014年(3)

2013年(12)

2012年(16)

2011年(18)

2010年(30)

分类: LINUX

2011-04-16 13:55:03

和槽是 Qt 个重这个在对彼此解的将它的行起来在前几个我们连接和槽声明了控的信实 现数,信号来更解这

 

普通的 c++很像它们virtual载(overload可 以public protective也可 private),它们可以c++ 一样何类不同一个能和号相只要出了槽函自动

 

connect 如下:

connect(sender, SIGNAL(signal), receiver, SLOT(slot));

sender receiver QObject     signal slot 数的SIGNALE()

SLOT()是把换成

 

的例我们接了信号实际使还要下一

1号可到多槽:

connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int))); connect(slider, SIGNAL(valueChanged(int)),this, SLOT(updateStatusBarIndicator(int)));

出后数都用,用的随机确定

 

2号可到一

connect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));

connect(calculator, SIGNAL(divisionByZero()),this, SLOT(handleMathError()));

信号槽函执行。

 

3号可一个

connect(lineEdit, SIGNAL(textChanged(const QString &)), this, SIGNAL(updateRecord(const QString &)))

号发第二也同。除,信号连信号接相同。

 

4以被

disconnect(lcd, SIGNAL(overflow()),this, SLOT(handleMathError()));

很少使一个除后,Qt 这个所有接。

 

函数着相数类样信函数功连connect(ftp, SIGNAL(rawCommandReply(int, const QString &)),this, SLOT(processReply(int, const QString &)));

里的数多数的多余被忽

connect(ftp, SIGNAL(rawCommandReply(int, const QString &)),this, SLOT(checkErrorCode(int)));

类型或者不存 debug Qt 期间

槽连含了名字,Qt 警告。 以列举中都的信号和机制在 QObject 可以实何从 QObject 类中。

class Employee : public QObject


{

Q_OBJECT

public:

Employee() { mySalary = 0; }

int salary() const { return mySalary; }

public slots:

void setSalary(int newSalary);

signals:

void salaryChanged(int newSalary);

private:

int mySalary;

};

void Employee::setSalary(int newSalary)

{

if (newSalary != mySalary) {

mySalary = newSalary;

emit salaryChanged(mySalary);

}

}

,只有 newSalary != mySalary 发出 salary-Changed()样避循环 的现。

 

××××××××××××××××××××××××××××××××××××××××××××××××××

××××××××××××××××××××××××××××××××× Qt Meta-Object 系统

Qt 主要是对 C++即把彼此独件模起来而不需要的任

就是 Meta-Object 提供关键:信和槽和 introspection(内

introspection 应用运行得到 QObjec 类的meta-information信号很必包括和槽这个供了

(在 Qt Designer 使和文(国支持构成了 QSAQt Script for

Application

 

标准 C++不提供 Qt meta-object 的动态 meta-informationQt 个独立 的工具 moc过定义 Q_OBJECT 现到 C++变。moc 是用纯 c++因 此使用在任何 C++

 

工作下:

Q_OBJECT 了一些 QObject 实现函数:metaObject()TR()

qt_metacall()等。

Qt moc 实现 Q_OBJECT 函数的信

QObject 函数 connect() disconnect()使内省现信的连。以是通过 qmakemoc QObject 的,通常虑它感到奇,以查看 QMetaObject 档和 moc 实现的 c++

阅读(1088) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~