我有一个
我应该如何打印带有文本的
编辑:
这是我的当前打印代码,其中
QGraphicsScene
,上面绘制了图形和文本。当我尝试打印时,图形很好,但文本使用的是以点为单位定义的字体大小,因此当我将其传递给使用QPrinter
初始化的QPainter
的scene->render()
函数时,文本非常大。我应该如何打印带有文本的
QGraphicsScene
?编辑:
这是我的当前打印代码,其中
scene_
是我的QGraphicsScene
自定义子类: QPrinter printer(QPrinter::HighResolution);
QPrintDialog dialog(&printer, this);
dialog.exec();
std::cout << printer.resolution() << std::endl;
QPainter painter(&printer);
scene_->render(&painter);
std::cout这一行似乎没有任何效果。打印机仍然认为文本很大,因此每个文本项只打印第一个字母的一小部分。
paint
函数中。查询绘图器的device()
,如果它动态转换为QPrinter
,则使用像素大小。或者,如果您的图形和文本非常紧密地依赖于彼此的大小,则最好在所有地方使用像素大小。 - Troubadour