【发布时间】:2011-03-02 08:01:38
【问题描述】:
我有一个复杂的小部件,其中包含大量不同的子小部件,例如QLabel 的子类。我想打印这个小部件,但显然我不想打印背景,我想打印不同的文本颜色或稍微修改框架的样式。
因为我真的不想使用特殊的“打印”功能遍历所有子小部件,我需要将其附加到所有小部件(如何将“打印”添加到 QLabel?),我想使用paintEvent .
如果我有一个层次结构 MyWidget -> 派生自 -> 一些 QWidget,我想插入一个子层 MyWidget -> MyPrintWidget -> 一些 QWidget,myPrintWidget::paintEvent 将检查当前打印是否将屏幕(因此调用 QWidget::paintEvent),否则如果我们正在打印到打印机,则调用一些函数 MyPrintWidget::drawWidget 代替。
- 这是正确的方法吗? 打印启用小部件?
- 我怎样才能知道 paintEvent,我正在打印到 打印机而不是屏幕?
- 有没有很好的例子 打印复杂的小部件?
【问题讨论】: