将qt场景作为PowerPoint对象复制到剪贴板
我想知道是否有人知道将qt场景复制到剪贴板,然后将其作为分组对象粘贴到word中的第一件事。我的场景中只有图形、文本项、椭圆和线条。它看起来像是可以做成形状、线条和文本的东西,可以作为一组粘贴到powerPoint中。我不知道从哪里开始!有什么想法吗?谢谢 我会用两种方式来解决这个问题: 从系统角度和office sdk角度 从系统的角度来看,您讨论的是剪贴板、mime类型以及剪贴板中存储的内容 从OfficeSDK的角度来看,您将讨论它如何存储预渲染的元素 快速浏览一下,我在MS Office SDK中发现了以下信息: 在剪贴板管理器上: 这是连接到剪贴板的Qt连接: 现在。。。从那开始,我就写了以下代码: 我在MainWindowUI表单中添加了一个将qt场景作为PowerPoint对象复制到剪贴板,qt,powerpoint,Qt,Powerpoint,我想知道是否有人知道将qt场景复制到剪贴板,然后将其作为分组对象粘贴到word中的第一件事。我的场景中只有图形、文本项、椭圆和线条。它看起来像是可以做成形状、线条和文本的东西,可以作为一组粘贴到powerPoint中。我不知道从哪里开始!有什么想法吗?谢谢 我会用两种方式来解决这个问题: 从系统角度和office sdk角度 从系统的角度来看,您讨论的是剪贴板、mime类型以及剪贴板中存储的内容 从OfficeSDK的角度来看,您将讨论它如何存储预渲染的元素 快速浏览一下,我在MS Office
QPushButton
和一个QTextEdit
。然后,我走到按钮的插槽,放入以下内容:
void MainWindow::on_pushButton_clicked()
{
ui->textEdit->clear();
QClipboard *c = QApplication::clipboard();
foreach(QString format, c->mimeData()->formats())
{
ui->textEdit->append(format);
ui->textEdit->append(c->mimeData()->data(format));
}
ui->textEdit->append("done");
}
我在Office 2010中从PowerPoint复制了一个椭圆形和一个矩形
然后在我的程序中使用按钮。这是它给我的输出:
application/x-qt-windows-mime;value="Preferred DropEffect"
application/x-qt-windows-mime;value="InShellDragLoop"
application/x-qt-windows-mime;value="PowerPoint 12.0 Internal Shapes"
ÀN
application/x-qt-windows-mime;value="Object Descriptor"
j
application/x-qt-windows-mime;value="Art::GVML ClipFormat"
PK
application/x-qt-windows-mime;value="PNG"
PNG
application/x-qt-image
application/x-qt-windows-mime;value="JFIF"
ÿØÿà
application/x-qt-windows-mime;value="GIF"
GIF89aã
application/x-qt-windows-mime;value="PowerPoint 12.0 Internal Theme"
Hý©
application/x-qt-windows-mime;value="PowerPoint 12.0 Internal Color Scheme"
Pý©
done
所以它应该是可以做到的,但是你需要弄清楚它们在可读的明文之间编码的内容是什么
希望有帮助
PS尝试将Qt元素保存为SVG对象或剪贴板上的其他图像可能会更幸运。我将通过两种方式来解决此问题: 从系统角度和office sdk角度 从系统的角度来看,您讨论的是剪贴板、mime类型以及剪贴板中存储的内容 从OfficeSDK的角度来看,您将讨论它如何存储预渲染的元素 快速浏览一下,我在MS Office SDK中发现了以下信息: 在剪贴板管理器上: 这是连接到剪贴板的Qt连接: 现在。。。从那开始,我就写了以下代码: 我在MainWindowUI表单中添加了一个
QPushButton
和一个QTextEdit
。然后,我走到按钮的插槽,放入以下内容:
void MainWindow::on_pushButton_clicked()
{
ui->textEdit->clear();
QClipboard *c = QApplication::clipboard();
foreach(QString format, c->mimeData()->formats())
{
ui->textEdit->append(format);
ui->textEdit->append(c->mimeData()->data(format));
}
ui->textEdit->append("done");
}
我在Office 2010中从PowerPoint复制了一个椭圆形和一个矩形
然后在我的程序中使用按钮。这是它给我的输出:
application/x-qt-windows-mime;value="Preferred DropEffect"
application/x-qt-windows-mime;value="InShellDragLoop"
application/x-qt-windows-mime;value="PowerPoint 12.0 Internal Shapes"
ÀN
application/x-qt-windows-mime;value="Object Descriptor"
j
application/x-qt-windows-mime;value="Art::GVML ClipFormat"
PK
application/x-qt-windows-mime;value="PNG"
PNG
application/x-qt-image
application/x-qt-windows-mime;value="JFIF"
ÿØÿà
application/x-qt-windows-mime;value="GIF"
GIF89aã
application/x-qt-windows-mime;value="PowerPoint 12.0 Internal Theme"
Hý©
application/x-qt-windows-mime;value="PowerPoint 12.0 Internal Color Scheme"
Pý©
done
所以它应该是可以做到的,但是你需要弄清楚它们在可读的明文之间编码的内容是什么
希望有帮助
PS您可能会更幸运地尝试将Qt元素保存为SVG对象或剪贴板上的其他图像。这太棒了!我一直在搜索,没有找到任何关于编码内容的信息。我可能会把你的建议换一个对象。我想在剪贴板上放一个图元文件。这是可能的吗?
QClipboard
类应该可以让你做很多不同的事情。阅读文档并尝试一下。看看你能用它做什么。祝你好运,这太棒了!我一直在搜索,没有找到任何关于编码内容的信息。我可能会把你的建议换一个对象。我想在剪贴板上放一个图元文件。这是可能的吗?QClipboard
类应该可以让你做很多不同的事情。阅读文档并尝试一下。看看你能用它做什么。祝你好运