今儿个就跟大伙儿唠唠我咋折腾QT页面这摊事儿,全是血泪教训堆出来的经验。上回那个项目,用户老抱怨界面卡得跟拖拉机似的,点个按钮得抽根烟才反应,气得我拍大腿,再不优化饭碗怕是要砸。
一、开局先让界面别乱套
原先做的页面可真是傻大粗,大屏看着还行,用户手机一开直接糊成一团。我连夜抓着头皮重搞布局。QT里头那些个布局管理器,像QHBoxLayout、QVBoxLayout,全给它安排上。最关键是加了sizePolicy属性,让按钮文本框别跟愣头青似的硬撑,窗口变大变小它都能跟着喘口气。折腾完拿自己那台破笔记本试了试,13寸屏切到24寸显示器,居然没崩!
二、给页面拾掇个顺眼模样
早先那配色活像打翻了颜料罐,大红大绿刺得眼疼。这回我翻出QPalette跟样式表当粉刷匠。直接抄了套现成的浅灰配深蓝方案,按钮用border-radius: 5px; 搓个圆角,重点地方比如提交按钮,给background-color加个醒目的橙黄色。还专门把字体统一成思源黑体,字号调得老大——楼下王大爷戴着老花镜都说这下看得真亮堂!
三、该藏的藏,该扔的扔
最头疼的是用户老说找不着北。原来功能按钮七零八落塞满两排工具栏。我一发狠把QTabWidget拖出来分门别类,高级功能全塞进二级菜单里。又整了个QStackedWidget搞页面切换,主界面就留三个最常用的按钮。领导刚开始还骂我偷懒,结果测试时新用户愣是五分钟就会用了,他叼着烟没吭声。
四、让页面动得溜点
以前点个刷新转圈圈能急死人。这回用QPropertyAnimation给跳转页面加了划入效果,加载数据时调出QProgressBar显示进度条。最得意的是响应点击事件立马加了个0.2秒的颜色渐变反馈,按钮按下去会“嗡”地亮一下。你猜怎么着?测试组的小年轻以为我偷偷加了震动马达!
五、榨干一点性能
项目收尾前用qDebug()狂打日志盯着,发现有个图片加载拖垮了全家。立马换成QPixmap的scaled提前压缩尺寸,又给表格控件上了setUniformRowHeights省计算量。祭出大招——把万年不变的QWidget::repaint()改成update(),CPU占用直接从35%降到12%,老掉牙的工控机跑起来都嗖嗖的!
这一套组合拳打下来,用户反馈邮件终于从骂街变成夸“顺手”。老板昨儿开会还端着保温杯问:“这回页面咋整的?行政部李姐都说好使!” 我在底下憋着没吭声——鬼知道前几个月我半夜改代码改到两眼发绿!





