1

現在、QGraphicsGridLayoutで使用しているQGraphicsSceneがあります。このグリッドレイアウトでQWidgets(QLabelsとカスタムグラフQWidgets)を整列させてから、PDFエクスポート用にQPrinterにエクスポートしようとしています。

私が抱えている問題は、QLabelの間にこれらの灰色の仕切り線があり、それを取り除くことができないように見えることです。レイアウトの間隔を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);

reportlayoutクラス:

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 に答える