• 4931阅读
  • 2回复

QSizeGrip调整窗口的尺寸及update()问题 [复制链接]

上一主题 下一主题
离线alexltr
 

只看楼主 倒序阅读 楼主  发表于: 2011-09-10
Windows 7 + Qt 4.7.3

我建立了一个Frameless的窗口,窗口的部件全部放在paintEvent()函数中绘制,以及计算其摆放的位置。
然后在窗口的右下角放了一个QSizeGrip控件,用来调整窗口的尺寸。

当我用QSizeGrip把窗口拖大时,窗口上的部件可以按paintEvent()函数的要求进行更新。
但是,当我用QSizeGrip把窗口缩小时,窗口却不会更新。只有当我在windows的任务栏点击这个程序的图标时,窗口才会重新刷新。
请问各位应该用什么办法解决?

我试着把update()函数放到paintEvent()函数里,这样放大和缩小时,窗口上的部件都可以按paintEvent()函数的要求进行更新了。
但这样做会不会出现无限循环,或会增加内存的负荷?

谢谢。
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线jdwx

只看该作者 1楼 发表于: 2011-09-10
回 楼主(alexltr) 的帖子
Qt还是用布局比较方便。自己计算大小费劲。我也用QSizeGrip用布局不用写代码
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线dxfans

只看该作者 2楼 发表于: 2011-09-13
把update()函数放到paintEvent()函数里,我第一次听说这个。。。
快速回复
限100 字节
 
上一个 下一个