1

我目前有一个与 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();

我有一种感觉,是布局在这样做,因为线条位于网格中的单元格之间 - 但布局没有任何颜色属性,我找不到与分隔线有关的任何内容。

非常感谢!

4

1 回答 1

0

你试过样式表吗?

例如,

setStylesheet("QLabel { border:0px solid black; }");

您必须调查所有可能的选择器,直到找到哪个选择器引入了边界。

于 2012-05-25T21:59:48.387 回答