QT3与QT4版本的问题

发布时间:2019-07-02 13:36:38编辑:auto阅读(1425)

    从在QT中找不到QVBOX类到QT4与QT3的兼容(转载)

       http://www.qiliang.net/qt/tutorial1-03.html上学习qt技术,但是在用到第三个实例的时候就发现好多东西用不了了,后来一查才发现,这个教程上面的都是qt3的,而自己现在的QT是QT4版本了。后多原来qt3的类都不在了。但是想想又有点不对劲啊,哪有新版本全部否定老版本的啊,这不是砸自己的脚吗?后来又查了下,才发现qt4还是支持qt3的。QT4中提供了大量新控件,也保持了旧的控件,并命名为Qt3XXX,并且全都放到“\qt\include\Qt3Support”这个文件夹下面去了,哪些没有被修改的控件则继续放在原来的文件夹下面。在上一篇博文中我们介绍了在建项目的时候要“select required modules”,我们如果要使用qt3中的文件,我们就要在“Qt3Support modules”前面打钩,将这个选中就可以了。

    下面是qt3与qt4的举例

    qt3下面的源程序是:

    #include <qapplication.h>
    #include <qpushbutton.h>
    #include <qfont.h>
    #include <qvbox.h>
    int main( int argc, char **argv )
    {
        QApplication a( argc, argv );
        QVBox box;
        box.resize( 200, 120 );
        QPushButton quit( "Quit", &box );
        quit.setFont( QFont( "Times", 18, QFont::Bold ) );
        QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
        a.setMainWidget( &box );
        box.show();
        return a.exec();
    }
    在qt4中修改为:

    #include <qapplication.h>

    #include <qpushbutton.h>

    #include <qfont.h>

    #include <q3vbox.h>

     

    int main( int argc, char **argv )

    {

    QApplication a( argc, argv );

    Q3VBox box;

    box.resize( 200, 120 );

    QPushButton quit( "Quit", &box );

    quit.setFont( QFont( "Times", 18, QFont::Bold ) );

    QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );

    a.setMainWidget( &box );

    box.show();

    return a.exec();

    }

     

关键字