Qt - 以特定布局打印小部件

Qt - Print widgets in specific layout

在我的项目中,我有一些自己的小部件。 当我点击一个工具栏按钮进行打印时,我想打印一个小部件 具体布局(横向)。

我尝试使用带有布局的新 QWidget,并在此布局中添加我的小部件。 但是当我这样做时,我的小部件从我的主窗口中消失了。

如何在不消失的情况下打印我的小部件和我自己的布局?

我问过类似的问题 - Printing complex widgets

基本上以某种设计结束,我在其中设置了整个小部件的不可见副本,并使其根据打印作业的最佳尺寸调整大小 - 考虑纵向和横向打印!

我必须向自定义小部件的绘制和调整大小相关方法添加代码,根据我是打印还是绘制到屏幕,我修改了调色板、字体大小、样式表等。可能需要修改调色板如果您的打印机仅 black/white。或者,如果您的应用程序有深色背景,您可能需要翻转颜色。

这是一项相当繁琐的工作,但您会注意到,客户通常不想要屏幕硬拷贝,而是想要更好的东西。