在Qt中打印复杂的小部件

在Qt中打印复杂的小部件,qt,printing,qt4,Qt,Printing,Qt4,我有一个复杂的小部件,其中包含大量不同的子部件,例如QLabel的子类。我想打印这个小部件,但显然我不想打印背景,我想用不同的文本颜色打印,或者稍微修改一下框架的样式 由于我并不想用一个特殊的“打印”函数遍历所有子部件,我需要将它附加到所有部件上(如何将“打印”添加到QLabel?),所以我想使用paintEvent 如果我有一个层次结构MyWidget->派生自->某个QWidget,我想插入一个子层MyWidget->MyPrintWidget->某个QWidget,其中MyPrintWid

我有一个复杂的小部件,其中包含大量不同的子部件,例如QLabel的子类。我想打印这个小部件,但显然我不想打印背景,我想用不同的文本颜色打印,或者稍微修改一下框架的样式

由于我并不想用一个特殊的“打印”函数遍历所有子部件,我需要将它附加到所有部件上(如何将“打印”添加到QLabel?),所以我想使用paintEvent

如果我有一个层次结构MyWidget->派生自->某个QWidget,我想插入一个子层MyWidget->MyPrintWidget->某个QWidget,其中MyPrintWidget::paintEvent将检查当前打印是否进入屏幕(因此称为QWidget::paintEvent),否则如果我们正在打印到打印机,改为调用一些函数MyPrintWidget::drawWidget

  • 这是去巴黎的路吗 打印是否启用小部件
  • 我怎样才能算出你的答案 paintEvent,我正在打印到 打印机而不是屏幕
  • 有一个好的例子吗 打印复杂的小部件
  • 这是打印启用小部件的正确方法吗
  • 将一个小部件及其所有子部件呈现给,即。对于打印,只需在打印机设备上调用render之前正确设置。如果您正在重用屏幕上的小部件,您应该能够立即将其设置回原来的状态

  • 在paintEvent中,我如何判断我是在打印机上而不是在屏幕上打印
  • 您可以通过查看各种QPaintDevice属性来了解它,但我会尽量避免依赖该功能

  • 有没有打印复杂小部件的好例子

  • 我不知道有什么东西可以做你正在尝试做的事情。

    项目没有使用样式表,所以我需要设置打印选项板,并且必须手动进行布局。