我目前有一个与 QGraphicsGridLayout 一起使用的 QGraphicsScene。我正在尝试在此网格布局上对齐 QWidget(QLabels 和自定义图形 QWidget),然后将其导出到 QPrinter 以进行 pdf 导出。
我遇到的问题是,我似乎无法摆脱 QLabels 之间的这些灰色分隔线。我尝试将布局中的间距设置为 0,边距设置为 0,QLabel 调色板的所有不同属性等都无济于事。以下是相关代码:
主类:
QLabel lbl("some text");
lbl.setAutoFillBackground(true);
QPalette pal = lbl.palette();
pal.setColor(QPalette::Window, Qt::white);
lbl.setPalette(pal);
lbl.setFrameStyle(QFrame::NoFrame);
reportlayout->addWidget(&lbl);
reportlayout->generatePDF(reportfilename);
报告布局类:
gridlayout->setContentsMargins(0,0,0,0);
gridlayout->setSpacing(0);
QGraphicsWidget* page = new QGraphicsWidget();
page->setLayout(gridlayout);
scene->addItem(page);
printer->setOutputFileName(filename);
painter->begin(printer);
scene->render(painter);
painter->end();
我有一种感觉,是布局在这样做,因为线条位于网格中的单元格之间 - 但布局没有任何颜色属性,我找不到与分隔线有关的任何内容。
非常感谢!