1.信号与槽机制

Qt的信号与槽机制是最具特色的机制。

看如下代码:

#include <QtGui/QApplication>
#include <QtGui/QPushButton>

int main(int argc, char *argv[])
{
        QApplication a(argc, argv);
        QPushButton *button = new QPushButton("Quit");
        QObject::connect(button, SIGNAL(clicked()), &a, SLOT(quit()));
        button->show();
        return a.exec();
}
主要此行:
QObject::connect(button, SIGNAL(clicked()), &a, SLOT(quit()));

QObject是所有类的根。Qt使用这个QObject实现了一个单根继承的C++。它里面有一个connect静态函数,用于连接信号与槽。

当一个按钮被点击时,它会发出一个clicked信号,点击button的时候,a的quit函数被调用,程序退出了。所以,在这里,clicked()就是一个信号,而quit()就是槽。


2.支持html解析

Qt源代码:默认输出

QLabel *label = new QLabel("Hello, world!");

HTML解析代码:字体设置为2号,hello为红色

QLabel *label = new QLabel("<h2><font color='red'>Hello</font>, world!<h2>");

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐