在编写这个程序之前,首先理一下我们遇到的问题?
1.触摸滑动
2.文字显示,背景自适应文字多少
3.能够一直显示对话内容,无论对话内容多或者少
OK,明白了基本的问题后,一个一个解决。
(1)首先得PS一张显示文字的背景图
(2)显示文字,背景自适应文字多少,就用QLabel的自动换行解决这个问题,如
label.setMinimumWidth(532);
qDebug()<<label.height();
label.setWordWrap(true);//自动换行
label.setText(".....");
重新获取label的宽高,从而缩放背景图
先设置一下label的最大宽度,然后就比较好控制文字多时显示的美观了。
(3)滑动,动态改变窗口大小
滑动就是用鼠标事件,用QTimeLine设置滑动范围,从而实现滑动的效果。
将能够滑动的窗口封装为一个控件,这样在其他地方使用起来也比较好了,根据对话的条数实时改变滑动窗口的大小。
最后,就可以做出一个类似那样的窗口界面了,不过体验效果肯定没有安卓的好,很多细节需要优化,考虑,玩玩还是可以的。