1

如果我继承 QLabel 并将 QLabel 直接添加到我的 QDialog,它工作正常。如果我在 ScrollArea 中添加这个标签,除非我调整对话框本身的大小,否则我正在绘制的东西不会显示。是的,很奇怪。

我已经设置了指示问题所在的可编译示例代码。我要做的是用鼠标选择图像的一个区域,方法是在相应的区域上绘制一个矩形。我的程序设计使用的图像可能非常大,因此,我需要有一个滚动区域,以便对话框保持在逻辑维度上,而不是填满整个屏幕(甚至多个工作区,如果我们正在谈论具有多个桌面的linux机器)。

一切正常,除了绘图(选择矩形)不可见,除非手动调整对话框的大小。我想我必须在绘图时更新一些东西,但我不确定是什么。好吧,这是示例代码: http: //paste.ubuntu.com/1151553/

我不知道如何解决的另一个问题(我希望你的建议在那里)是(1)当用户选择一个区域时,如何将其设置为在用户实际选择一个区域时自动滚动滚动区域的墙(我想我在这里可以理解)。(2) 有没有办法让用户选择一个矩形,然后,当他在按住 [Shift] 按钮的同时左键单击一个位置时,他先前选择的右下边缘实际上通过他单击的点在?

文档表明您必须以某种方式在某处设置布局,但我不确定如何在我的场合执行此操作。

提前感谢您的帮助。

4

1 回答 1

0

关于问题(1):

只需使用事件。我认为鼠标进入事件或离开事件对此有好处。

为此,我认为您可以使用填充整个屏幕的隐藏矩形。并为该矩形覆盖鼠标离开事件并在该函数中告知滚动页面。

于 2013-01-03T21:32:14.597 回答