2012-05-25 1 views
1

현재 QGraphicsGridLayout과 함께 사용하고있는 QGraphicsScene이 있습니다. 이 격자 레이아웃에서 QWidgets (QLabels 및 사용자 지정 그래프 QWidget)을 정렬하려고 시도한 다음이를 PDF 내보내기를위한 QPrinter로 내 보냅니다.QGraphicsGridLayout의 QWidgets에서 테두리 제거

문제는 내가 제거 할 수없는 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); 

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(); 

I, 그것은 이렇게 레이아웃이라고 느낌이 하지만 레이아웃에는 색상 속성이 없으며 구분선과 관련이 없습니다.

감사합니다.

답변

0

스타일 시트를 사용해 보셨습니까? 국경을 소개하는 하나 찾을 때까지 예를 들어

,

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

당신은 가능한 모든 선택기를 조사해야합니다.

+0

예. 나는 또 다른 stackoverflow 게시물에 대한 비슷한 제안을 보았다. QLabel과 관련하여 생각할 수있는 모든 스타일 시트 속성을 시도했습니다. 이것이 레이아웃으로 인해 발생했다고 생각하는 이유 중 하나입니다. – TSeabrook43

+0

어쩌면 거기에 대한 선택기가 있지만'QGraphicsWidget' –