使用QTDesigner进行部件布局

使用QTDesigner进行部件布局
例:
使用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但在实际保存时却更改名了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值