Eclipse下开发QT4应用,看不见添加的控件的问题及其解决方法

65 篇文章 1 订阅
13 篇文章 0 订阅

这几天开始学QT,装了QT4 Designer,据说Eclipse也可以作为QT的IDE,于是配置了在Eclipse下的QT开发环境(实在受不了QT Designer打开的N多个窗口)。

然后在网上找了一篇《用Eclipse开发QT4的C++程序 》http://www.cnitblog.com/yunshichen/archive/2009/08/08/60595.html,准备小试一下,结果相当失望,如此简单的例子尽然没成功。

问题:创建QT Gui Project时,Eclipse自动创建了一个空白的Form,并且自动编译生成了可执行文件。之后按照上面教程的步骤添加了几个控件,再Build All,居然出错:

Description    Resource    Path    Location    Type
错误:‘Ui’ 未声明    helloworld.h    /HelloWorld    line 16    C/C++ Problem
Description    Resource    Path    Location    Type
错误:expected ‘;’ before ‘ui’    helloworld.h    /HelloWorld    line 16    C/C++ Problem
Description    Resource    Path    Location    Type
错误:ISO C++ 不允许声明无类型的 ‘HelloWorldClass’    helloworld.h    /HelloWorld    line 16    C/C++ Problem

 

经几番摸索 ,发现“ui_helloworld.h”文件尽然是空白 的!再次摸索 ,得知该文件是通过helloworld.ui文件生成的,用的命令是:

uic helloworl.ui -o ui_helloworld.h

于是在终端中手动输入:以上命令,得到以下错误信息:

uic: File generated with too old version of Qt Designer
File 'helloworld.ui' is not valid

无奈之下,用QT4 Designer生成了helloworld.ui文件,再用uic转换,没问题! 于是把Eclipse生成的helloworld.ui和QT4 Designer生成的文件相比较,发现,Eclipse生成的文件多了如下一行:

<?xml version="1.0" encoding="UTF-8"?>

观察得知,刚创建工程时生成的helloworld.ui文件没有这一行,每次进行“添加控件”,“修改属性”等操作之后就会多出这么一行。于是删除之,再Build All,没问题了!添加控件也可以显示了。问题虽然解决 ,但每次编译之前都需要去删除一下.ui文件的头一行,也挺麻烦。。如果.ui文件有很多岂不是很烦人。可能是QT4版本的问题 ,升级一下试试,bless me!

 

当把QT升级到4.6版本时(参见 Eclipse+QT4.6(Linux) ),问题解决 ,不用手动”删除一下.ui文件的头一行"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值