Qt4与Qt5的三个区别

1.新增widgets模块

        在Qt4中,Qt提供的全部图形界面相关类都包含在Qt Gui模块中,但QT5将一些图形界面类移到了QT widgets模块中。所以在Pro文件中,需要增加一句话:

greaterThan(QT_MAJOR_VERSION, 4):QT += widgets

         意思是如果Qt版本大于Qt4,则需要增加widgets模块。

 

2.信号与槽的语法

        Qt4中关联信号与槽一般这样写:

connect(sender, SINGAL(valueChanged(QString, QString)), 
        receiver, SLOT(showValue(QString)));

        但这样写,没有编译器检查,有时编译器通过但应该调用的槽函数没有执行。这是编译器不能给出错误信息,只能在运行时看是否有警告。

        Qt5中关联信号与槽是这样写:

connect(sender, &Sender::valueChanged, receiver, &Receiver::showValue);

         这种写法支持编译器检查,能够在编译时就发现错误;并支持类型的隐式转换。

 

3.对C++11的支持

         Qt5支持C++11,但有些编译器默认不开启。所以需要在Pro文件中增加一行:
 

CONFIG  +=  c++11

 

你可能感兴趣的:(QT,其他)