在 QGraphicsGridLayout 中从 QWidgets 中删除边框
Removing borders from QWidgets in a QGraphicsGridLayout
我目前有一个QGraphicsScene,我正在使用QGraphicsGridLayout。我正在尝试在此网格布局上对齐QWidgets(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();
我有一种感觉,这是布局在这样做,因为线条位于网格中的单元格之间 - 但布局没有任何颜色属性,我找不到与分隔线有关的任何内容。
谢谢一堆!
你试过样式表吗?
例如
setStylesheet("QLabel { border:0px solid black; }");
您必须调查所有可能的选择器,直到找到哪个选择器引入边框。
相关文章:
- 将数组的地址分配给变量并删除
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C/C++编译器通常会删除重复的库吗
- 从链接列表c++中删除一个项目
- C++如何通过用户输入删除列表元素
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 是否需要删除包含对象的"pair"?
- 如何在自删除后将对象设置为nullptr
- 迭代时从向量和内存中删除对象
- 使用函数"remove"删除重复元素
- 如何从多映射中删除特定的重复项
- 运算符C++ "delete []"仅删除 2 个前值
- 删除指向指针的指针是运行时错误吗
- QLabel,删除边框和背景
- 删除位的边框
- 如何删除 QGraphicsItem 周围的边框
- 在 QGraphicsGridLayout 中从 QWidgets 中删除边框
- 从 HBITMAP 中删除边框
- 如何使用C++从 OpenCV 中的框架中删除黑色边框
- ncurses:是否可以在不删除边框的情况下刷新窗口