3

当我尝试将图像复制到系统剪贴板中(然后我可以将其粘贴到 ms-word 文档中),下面的代码失败,不知道为什么,即使我尝试使用 settext,它也失败了。不知道为什么.

QApplication::clipboard()->setPixmap(
        QPixmap("d://20121001154504.png"),
        QClipboard::Clipboard);
4

2 回答 2

3

首先阅读文档(使用 QImage 而不是 QPixmap)。然后验证图像是否已正确加载。

QImage image("d://20121001154504.png");
Q_ASSERT(!image.isNull());
QApplication::clipboard()->setImage(image, QClipboard::Clipboard);
于 2013-01-16T14:50:49.947 回答
1

我尝试了您的代码(当然是我的图片路径)并得到了下一个结果:

当我通过调试器(Step Over 或F10在 MSVC 中)通过这一行时,切换到 ms-word 并尝试粘贴图像 - 我什么也没得到。

当我在没有调试器的情况下运行程序时 - 我得到了适当的结果 - 一个图像被粘贴到了文档中。

#include <QtGui/QApplication>
#include <QClipboard>
#include <QPixmap>

int main( int argc, char * argv[] )
{   
    QApplication a( argc, argv );

    QApplication::clipboard()->setPixmap( QPixmap( "path to my png" ) );
    // if you'll stop here in debugger, you'll have no result

    return a.exec();
}
于 2013-01-16T14:49:16.843 回答