为了在 QTextDocument 中插入图像,我必须修改其宽度和高度,并保持原始图像的比例。因此我的代码:
qtextimageformat.setWidth( new_width );
cursor.insertImage( qtextimageformat, position )
我认为必须修改宽度和高度,但我惊讶地看到对.setWidth()的调用以某种方式保留了图像的比例,就好像.setHeight( )使用正确的参数隐式调用。
这是预期的行为吗?或者我错过了什么? The documentation没有帮助我。
答案 0 :(得分:2)
这是预期的行为,即使文档中没有明确说明。 QSize getImageSize(QTextDocument *doc, const QTextImageFormat &format)
中的静态函数QSize getPixmapSize(QTextDocument *doc, const QTextImageFormat &format)
和qtextimagehandler.cpp
会自动推导出QTextImageFormat
中仅指定宽度的高度(反之亦然)