我想了解QT,因此决定编写一个小的十六进制编辑器。为此,我需要一个允许滚动的小部件。经过一些研究,我发现QTextEdit为此目的而派生自QAbstractScrollArea。在阅读QAbstractScrollArea的文档时,我发现了描述为“QAbstractScrollArea将获得给定小部件的所有权”的方法“setViewport()”。这不适合单独显示自身的窗口小部件的上下文。它仅适合QScrollArea的上下文。

QT中使用滚动条显示其自身内容的小部件的合适方法是什么?

最佳答案

QAbstactScrollArea无法显示任何内容“本身”,并且该文档明确指出:



由于QAbstractScrollArea本身拥有其视口(viewport)的所有权,因此完全可以,而且您无需关心它。您可以将QAbstractScrolArea + Viewport视为单个元素的组合,可以将其作为单个元素操作(当然,可以是复合元素),也可以将其删除为单个元素,因为获得某项的所有权意味着它将与它的所有者一起被摧毁。

关于c++ - 源自QAbstractScrollArea,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11928708/

10-11 16:09