首页| 论坛| 消息

标题:有关linux中Qt designer的使用问题
作者:caffee_1989
日期:2011-04-10 18:29
内容:

我用的是GT2440的板,现在刚使用QT,问题就出现了:我的Qt环境是按照使用手册建立的,它提供了arm-qtopia_2.2.0.tar.gz这样一个包,详细步骤就不说了。板提供了hello的例子,它里面有个脚本build,直接执行./build就能生成执行文件,build内容如下:
#!/bin/bash
source /opt/GTStudio/GT2440/arm-qtopia/qtopia-2.2.0/setQpeEnv
qmake -spec /opt/GTStudio/GT2440/arm-qtopia/qtopia-2.2.0/qtopia/mkspecs/qws/linux-arm-g++ -o Makefile *.pro
make clean
make
一开始执行./build 还可以生成可执行文件,但如果我打开qt designer编辑过.ui文件后。譬如移动一下按键pushbutton,再保存,执行./build就出现很多错误。有没有人知道这是什么原因呢?其中我发现 .ui.moc等文件夹没生成hello_base.cpp文件并且hello_base.h里面编程空的。有没有人遇到这种情况?
错误信息:
In file included from hello.cpp:1:
hello.h:6: error: expected class-name before '{' token
hello.h:8: error: expected `)' before '*' token
hello.cpp:4: error: 'WFlags' has not been declared
hello.cpp:4: error: prototype for 'HelloForm::HelloForm(QWidget*, const char*, int)' does not match any in class 'HelloForm'
hello.h:6: error: candidates are: HelloForm::HelloForm(const HelloForm&)
hello.h:6: error: HelloForm::HelloForm()
hello.cpp: In member function 'virtual void HelloForm::SayHello()':
hello.cpp:14: error: 'MessageLabel' was not declared in this scope
make: *** [.obj/release-shared/hello.o] Error 1


#1 [caffee_1989 04-10 18:39]
本人刚学Qt,希望大家指点一下
#2 [wxj120bw 04-10 23:38]
qt designer编辑过的.ui文件保存在那里?
#3 回 2楼(wxj120bw) 的帖子 [caffee_1989 04-11 18:40]
保存在原文件夹吧,好像会产生一个 hello_base.ui~的文件
#4 Re:回 2楼(wxj120bw) 的帖子 [wxj120bw 04-11 22:16]
引用第3楼caffee_1989于2011-04-11 18:40发表的 回 2楼(wxj120bw) 的帖子 :
保存在原文件夹吧,好像会产生一个 hello_base.ui~的文件
怎么文件后还带着~ 这个好像是临时文件 你把hello_base.ui~改称hello_base.ui再贴hello_base.ui~部分代码
#5 回 4楼(wxj120bw) 的帖子 [caffee_1989 04-12 19:32]
我把hello_base.ui~改称hello_base.ui,再执行./build 发现可以产生可执行文件,但后来一打开.ui文件发现布局没改动,和原本的一模一样。hello_base.ui~的代码:
HelloBaseForm
QWidget
name
HelloBaseForm

geometry
0
0
354
223

caption
Test my first Qtopia Application

QLabel
name
MessageLabel

<< 1 2 >> (1/2)

回复 发表
主题 版块