• 3387阅读
  • 1回复

求教 [复制链接]

上一主题 下一主题
离线manbusongbo
 

只看楼主 正序阅读 楼主  发表于: 2009-07-09
请看最后一句



使用QTDesigner进行可视化的部件布局,通过拖动鼠标就能创建部件,这样省去了用代码new()创建部件,省去了用setGeometry()设计坐标,方便多了

(1)Qt Designer--New/Open对话框,选择第一个"C++ project"新建一个QT工程命名为example.pro
(2)File/New选择第二个Dialog,新建一个对话框,此时QT出现一个窗体Form1,在"Property Editor/Signal Hanlders"窗口中设置caption标题为"嵌入式应用程式界面",设置name为form_main
(3)选择ToolBox窗口中的PushButton部件,在窗体上画出一个按钮双击改动其文字为"加",在"Property Editor/Signal Handlers"窗口中设置name为"pushBtnAdd"
(4)添加另一个PushButton按钮,text为"关闭",name为"pushBtnClose"
(5)放置两个用于输入数字的部件LineEdit,name分别为lineEditAdd1,lineEditAdd2
(6)设置一个用于显示输出结果的部件TextLabel,name为textLabelResult
(7)为关闭按钮连接信号(Tools/connect signal/slots),在"关闭"按钮上点一下,出现"View and Edit Connection"设置如下
Sender:pushBtnClose
Signal:clicked()
Receiver:form_main
Slot:close()
(8)为加按钮编写槽和连接信号
Edit/Connections...
打开View and Edit Connections对话框,设置如下:
Sender:pushBtnAdd
Signal:clicked()
Receiver:form_main
Slot:空
点击Edit Slots...按钮,NewFunction按钮,将"newSlot()"改为"addSlot"
这时再为Slot:选择addSlot()
(9)为addSlot()槽编写实际代码
在主窗体"form_main"空白处双击,弹出Creating ui.h file"选择Yes,出现如下:
void form_main::addSlot()
{
}
下面添加代码
QString str1,str2,strResult;
double add1=0.0,add2=0.0,result=0.0;
str1=lineEditAdd1->text();//获取文本
str2=lineEditAdd2->text();
//将获取的文本转换为数字进行运算
bool ok1=FALSE,ok2=FALSE;
add1=str1.toDouble(&ok1);
add2-str2.toDouble(&ok2);
if(ok1&&ok2)
{
result=add1+add2;
strResult.sprintf("%f+%f=%f",add1,add2,result);
textLabelResult->setText(strResult);
}
else
{
QMessageBox::warning(this,"Input Error","Could not convert the input to the number","Please try again","Retry","Quit",0,0,1);
}
(10)添加用到的QT库的头文件
刚才用到了QString和QMessageBox类所以应添加qstring.h和qmessagebox.h头文件
在Object Explorer窗口中Members标签下Includes(In Declaration)处右击New两次,加入qstring.h,qmessagebox.h
(11)创建主程式文件
File/New,选择最后一个C++ Main-File(main.cpp)
保持默认代码即可
(12)编译
qmake -project
qmake
make
如果出现错误则有可能是包含头文件时为unnamed1.h但在实际保存时却更改名了  






最后一句是什么意思,我总是出现这种情况,不知道怎么处理。
离线gildon

只看该作者 1楼 发表于: 2009-07-15
就是你的Main.cpp的里面有个#include"unnamed1.h",但是你自己又重命名了这个头文件,当然会出错了..只要将这里的包含头文件名改一致就行了.
快速回复
限100 字节
 
上一个 下一个