QT学习3:QT4中调用QT3的原有类

来源:互联网 发布:苏州网络培训 编辑:程序博客网 时间:2024/06/06 02:52
  
#define QT3_SUPPORT#include <QApplication>//在每一个使用QT的应用程序中都必须使用QApplication,它管理了各种//应用程序的广泛资源,比如默认字体和光标#include <QPushButton.h>//经典的图形用户界面按钮,QWidget,可以显示一段文本或QPixmap#include <QFont.h>//QT中的字体#include <Q3Vbox.h>//布局类,QVBox把它的子窗口排成垂直的行,QVbox是QT3的,要使用它//必须在建工程时选上Qt3 Support library,命名为Q3XXXint main(int argc, char *argv[]){QApplication a(argc, argv);//argc是命令行变量的数量,argv是数组,C、C++特征Q3VBox box;box.resize(200, 120);QPushButton quit("Quit", &box);quit.setFont(QFont(("Arial"), 18, QFont::Bold));//---QT的信息槽机制 --------------------//---这是个静态函数 --------------------//---connect把quit的clicked信号和a的quit槽连接起来了QObject::connect(&quit, SIGNAL(clicked()), &a, SLOT(quit()));//-------------------------------------------//void QApplication::setMainWidget ( QWidget * mainWidget )//设置应用程序的主窗口部件为hello.//它退出,程序也退出了,这个好像只能在QT3_SUPPORT定义后使用//-------------------------------------------a.setMainWidget(&box);//--------------------------------------------// Shows the widget and its child widgets. // This function is equivalent to setVisible(true).//--------------------------------------------//hello.show();//当创建一个窗口部件时,它是不可见的,你必须调用show让它可见   box.setVisible(TRUE);return a.exec();//控制转给QT,在exec中,QT接收并处理用户和系统的事件并把它们传给适当的窗口部件}


1.建项目时要选上Qt3 Support library

2.QT3中不再被QT4用的代码都放在\qt\include\Qt3Support,并命名为Qt3XXX

3.可以直接用QT4的QVBoxLayout 代替
代码如下:

#define QT3_SUPPORT#include <QApplication>//在每一个使用QT的应用程序中都必须使用QApplication,它管理了各种//应用程序的广泛资源,比如默认字体和光标#include <QPushButton.h>//经典的图形用户界面按钮,QWidget,可以显示一段文本或QPixmap#include <QFont.h>//QT中的字体#include <QVBoxLayOut>int main(int argc, char *argv[]){QApplication a(argc, argv);//argc是命令行变量的数量,argv是数组,C、C++特征QWidget window;window.resize(200, 120);QVBoxLayout layout;QPushButton quit("Quit", &window);quit.setFont(QFont(("Arial"), 18, QFont::Bold));//---QT的信息槽机制 --------------------//---这是个静态函数 --------------------//---connect把quit的clicked信号和a的quit槽连接起来了QObject::connect(&quit, SIGNAL(clicked()), &a, SLOT(quit()));//-------------------------------------------    layout.addWidget(&quit);window.setLayout(&layout);//--------------------------------------------// Shows the widget and its child widgets. // This function is equivalent to setVisible(true).//--------------------------------------------//hello.show();//当创建一个窗口部件时,它是不可见的,你必须调用show让它可见   window.setVisible(TRUE);return a.exec();//控制转给QT,在exec中,QT接收并处理用户和系统的事件并把它们传给适当的窗口部件}


1.注意到,Q3VBox是基于QWidget再基于QObject,而QVBoxLayout不基于QWidget直接基于QObject,所以它得弄个widget去包含它.

原创粉丝点击