- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
无责任、超简明Qt教程--计算器
Exilefox
2012年4月1日
之前发了一个Qt Desiger设计ui的入门教程,本篇本来是三部曲的第二部分,但是本人最近要到深圳找饭吃,各种忙,所以只能不负责任的草草把这篇先发出来,至于什么时候能完成全部3篇我也不知道。所以各位看官如果对Qt有兴趣,不要等,积极探索,说不定等我发第三篇的时候各位已经是高手啦~
上篇着重做了界面,而一个完整的项目需要界面和功能的结合,所谓内外兼修嘛~这篇主要讲如何将界面与函数实现结合起来,顺带再穿插一些stylesheet的内容。同样,只是个引子,以最简单的计算器为例。
我们要做的计算器是这样一个东西:有0~9 十个数字按键、一个加号键、一个减号键,一个清除键,一个回车键、一个显示框。我承认我懒,这个计算器就只能实现加减法运算,是不是弱爆了?没关系,你要搞个乘除法、进制转换什么的原理是一样滴~
新建工程时候选择Widget而不是mainwindow,毕竟我们计算器没高级到需要一个菜单什么的。
在这里我们还自己改了一下这个类的名称,方便记忆嘛~Qt还挺聪明的,你改了类名称下面的几个文件名称也自动跟着改了。
一、编辑UI
工程建立了和上次一样,先直接做.ui文件。
如图,只用到两类控件 pushButton 和lineEdit
先拖一个pushButton出来,改名为button_1 ,修改显示的文字为1 。剩下的数字键也要这样?非也,你只需选中,ctrl+C,ctrl+v几次就一个个出来了。对象名字什么的是自动连续的,但是显示内容就得自己动手改了。剩下的按钮自己能够搞定了吧?
拖个LineEdit出来做显示。从名字可以知道这家伙是输入类型的,而计算器显示不是输出的吗?用textBrowser不是更准确一些吗?实际上用textBrowser也是可以的,但到后面我发现他有个问题,这货死活不能靠右显示。而官方的例子里面用的是lineEdit,只不过加了句代码
setReadOnly(true);
把它设置成了readonly。从这点展开将,我想让大家知道的是这些控件的应用可以是很灵活的,输入的可以用来显示,按钮贴上图做图标什么的,想象力+大胆尝试, QtDesigner自带的控件就可以满足你大部分的要求。
计算器的框架大体有了,是不是觉得不太好看呢?在这里我们用stylesheet做一些简单的修饰。
字体加大加粗:对所有的Qbutton都有效,所以在总体控件的空白处点右键-改变样式表
弹出的串口先输入要修改的对象QPushButton{}--请注意到和上一节我们讲的相比,这里少了#号,表示这个ui里面所有的pushbutton类的控件都生效。把光标移到{}中,点选择字体,选择好后对字体样式的描述就自动写到{}里了。点击确定看看大家是否都变得又黑又粗了呢^-^?
个别、字体改变颜色:不过眼尖的你也许看到了enter因为变得太大而超出格子了,而且我们希望加号减号键这些有其他的颜色。所以我们再这对个别修改一下。在enter键上点右键-改变样式表 ,除改变字体之外我们还可以选添加颜色来改变颜色。剩下几个按键也有你喜好修改好。
改变边框圆角:对那个方方正正的显示框我们也来修改一下,步骤同前面一样
请注意这里有个border-radius: 10px;
他是边框棱角的设置选项,但是这东西在编辑样式表对话框的下拉菜单中是找不着的,各位就要手动输入了。这类没列出来的属性还有很多,靠大家平时积累记住,另外就是上/4.3/stylesheet-reference.html查一查,那里列出了有什么控件可以修改stylesheet,可以修改那些属性。
二、实现函数
至此ui相关的大部分工作就完成了,接下来我们来充实一下函数的实现。由于本篇侧重讲功能与界面的结合,就不可能像上一篇那样宣称只用几行代码搞定了,但是实际上也不多。
以下是纯c++编程部分,给出的代码是我偷懒的代码,各位完全可以用自己的方式来实现。
连接槽函数:在数字按键上点击右键-转到槽函数,选择信号为click(),这样我们就跳到了.cpp文件里,这时程序已经把声明什么的写好,就等着我们来填坑了~
你会发现这些槽函数的名字很有规律void calculor::on_button_1_clicked(),复制粘贴,改一下button_1我们就把其他的槽函数一起建好了,坑挖好了,但是还是没有内容,先留着,去.h在类定义中加一些我们需要的变量。
.h文件
先是一堆槽函数的声明,这个是自动生成的。
后面的私有成员定义:
首先是两个计算数,frist和second,当然还有结果result
然后是表示现在输入的是frist还是second的标志位,我们用个枚举来做,当有加号、减号按下时这个状态由FRIST转到SECOND
结构体S
文档评论(0)