解决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

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

相关文章
|
人工智能 运维 Linux
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
689 0
|
12月前
|
机器学习/深度学习 传感器 TensorFlow
使用 Python 实现深度学习模型:智能食品质量控制
使用 Python 实现深度学习模型:智能食品质量控制
228 0
|
存储 关系型数据库 数据库
关系型数据库表结构设计规范化(Normalization)
【5月更文挑战第13天】关系型数据库表结构设计规范化(Normalization)
697 5
|
C语言 C++ Windows
windows下编译protobuf
windows下编译protobuf
543 0
|
存储 算法 编译器
【C/C++ 数据结构 线性表】 数据结构 解析 链表中哨兵节点(伪节点)的作用
【C/C++ 数据结构 线性表】 数据结构 解析 链表中哨兵节点(伪节点)的作用
408 0
|
存储 安全 Java
springboot把图片上传到阿里云OSS
springboot把图片上传到阿里云OSS
1149 0
|
存储 Java 数据库
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践2
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践2
343 0
|
JSON 数据库 数据安全/隐私保护
Django系列:Django应用(app)的创建与配置
应用是Django项目的组成部分,一个Django项目可以分为多个应用,本文讲解Django应用(app)的创建,并实际完成一个简单应用的配置和开发。
712 0
|
消息中间件 大数据 Kafka
别找了,Kafka视频、书、面试题全给你准备好了~~
别找了,Kafka视频、书、面试题全给你准备好了~~
|
存储 JSON Java
深入浅出FlatBuffers原理
FlatBuffers 是一个开源的、跨平台的、高效的、提供了多种语言接口的序列化工具库。实现了与 Protocal Buffers 类似的序列化格式。主要由 Wouter van Oortmerssen 编写,并由 Google 开源。本文将基于高德地图数据编译增量发布使用了FlatBuffers序列化工具,为大家分享FlatBuffers的原理。
深入浅出FlatBuffers原理