我一直在为这个看似简单的任务敲打我的脑袋,我真的可以使用一些帮助。 我在gui中加载了一个宽图像(使用设计器..),我希望能够只绘制一部分,一个矩形。 我需要能够在大图像上更改此矩形位置,以便随意绘制较大图像的不同部分。在这个过程中,rect必须保持其大小。
使用Ui :: MainWindow对象我可以访问包含图像的标签,并且首选使用此选项的解决方案(为了跟上我已编写的其余代码)< / p>
任何解决方案都将非常感激:)
谢谢,
Itamar
答案 0 :(得分:1)
我肯定(为了方便使用)只需在设计器中放置一个空label
作为占位符。
然后为此标签实现paintEvent
(将其委托给您自己的方法)。你还必须研究QPainter,QPixMap等......基于这些提示和文档应该是可行的。
如果您想要更多,我建议您提供一个小代码片段来处理。
答案 1 :(得分:0)
如果您想通过设计师或多或少地完成此操作,可以将QScrollArea
放在您想要显示图像部分的位置。如果将滚动区域的滚动条策略设置为永不显示,则可以通过滚动区域窗口小部件手动更改可见的部分。但是,创建派生窗口小部件并重新实现绘制功能可能会更复杂。