我是 Qt 的新手,我找到的几乎所有教程都说要使用 setPixmap() 将图像添加到 QLabel。也许这是正确的方法,但感觉不对,因为为图像使用标签似乎超出了标签的目的。
谁能告诉我是否有“正确的方式”或特殊的类,或者“标签方式”是否正确,而不仅仅是简单的方式。
最佳答案
使用 QLabel 是在基于 QtWidgets 的 UI 中显示图像的常用方法。这可能确实让人觉得有点尴尬,因为 QLabel 的 API 主要与文本渲染有关。然而,它完成了工作,并且没有其他专门用于绘制图像的类。可以考虑编写自己的类(采用 QPixmap,重新实现 paintEvent()、sizeHint()),但这对我来说只有在需要 QLabel 缺少的功能时才有意义。
根据上下文,当然还有许多其他方法来绘制图像,例如按钮上的图像(QToolButton、QPushButton 等)、图形场景中的图像(QGraphicsScene/View)等,但它们都用于更专业或更复杂的用例。
关于c++ - Qt中显示图像的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19650721/