解决QT兼容性问题

简介: 按照例子在QDevelop中建立一Widget工程,并加入代码 #include #include #include #include     class MyWidget : public QWidget { public: MyWidget( QWidget *pa...

按照例子在QDevelop中建立一Widget工程,并加入代码

#include <QApplication>

#include <QtGui/QPushButton>

#include <QtGui/QWidget>

#include <qfont.h>

 

 

class MyWidget : public QWidget

{

public:

MyWidget( QWidget *parent=0, const char *name=0 );

};

 

 

MyWidget::MyWidget( QWidget *parent, const char *name )

: QWidget( parent, name )

{

setMinimumSize( 200, 120 );

setMaximumSize( 200, 120 );

 

QPushButton *quit = new QPushButton("Quit", this, "quit");

quit->setGeometry( 62, 40, 75, 30 );

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

 

connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );

}

 

 

int main( int argc, char **argv )

{

QApplication a( argc, argv );

 

MyWidget w;

w.setGeometry(100, 100, 200, 120);

a.setMainWidget( &w );

w.show();

return a.exec();

}

 

编译报错,仔细查看/usr/include/qt4/Qt/qpushbutton代码,发现有

#ifdef QT3_SUPPORT
    QT3_SUPPORT_CONSTRUCTOR QPushButton(QWidget *parent, const char* name);
    QT3_SUPPORT_CONSTRUCTOR QPushButton(const QString &text, QWidget *parent, const char* name);

这个构造函数在QT3中才支持,QT4已废弃,为了兼容可在代码第一行加入#define QT3_SUPPORT,就可以编译通过了

 

另外Widget.pro中也有设置代码

TEMPLATE = app
SOURCES += src/widg.cpp

指名模板类型和源代码路径

相关文章
WK
|
2天前
|
开发框架 开发工具 C++
C++跨平台框架Qt
Qt是一个功能强大的C++跨平台应用程序开发框架,支持Windows、macOS、Linux、Android和iOS等操作系统。它提供了250多个C++类,涵盖GUI设计、数据库操作、网络编程等功能。Qt的核心特点是跨平台性、丰富的类库、信号与槽机制,以及良好的文档和社区支持。Qt Creator是其官方IDE,提供了一整套开发工具,方便创建、编译、调试和运行应用程序。Qt适用于桌面、嵌入式和移动应用开发。
WK
16 5
|
3月前
【qt】项目移植
【qt】项目移植
28 0
【qt】项目移植
|
Java 开发工具 C++
|
计算机视觉
window10环境下配置qt使用opencv开发环境
window10环境下配置qt使用opencv开发环境
252 0
|
区块链 Android开发
Qt界面优化:Qt应用程序设置
Qt界面优化:Qt应用程序设置
293 1
Qt界面优化:Qt应用程序设置
Qt实用技巧:Qt从QtCreator更换为VS开发Qt所需要注意的坑
Qt实用技巧:Qt从QtCreator更换为VS开发Qt所需要注意的坑
Qt实用技巧:Qt从QtCreator更换为VS开发Qt所需要注意的坑
|
Linux 计算机视觉 Windows
关于 Qt编译环境从Qt5迁移到Qt4遇到Qt::FramelessWindowHint失效 的解决方法
关于 Qt编译环境从Qt5迁移到Qt4遇到Qt::FramelessWindowHint失效 的解决方法
关于 Qt编译环境从Qt5迁移到Qt4遇到Qt::FramelessWindowHint失效 的解决方法
Qt实用技巧:Qt中添加对C++11标准的支持(两种方式)
Qt实用技巧:Qt中添加对C++11标准的支持(两种方式)
|
编译器 Linux C语言
QT5.14.2编译部署QTAV播放器环境
QT5.14.2编译部署QTAV播放器环境
508 0
QT5.14.2编译部署QTAV播放器环境
Qt6-Qt5代码移植到Qt6
尝试下Qt5的代码是否可以正常在Qt6上编译通过,使用的我网易云代码,这里测试的时候我先添加了5.12的版本进行测试没有问题,下面将切换到6.0的环境试一下。
872 0
Qt6-Qt5代码移植到Qt6