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