qt grab截图截不到样式表
时间: 2023-08-17 16:02:19 浏览: 174
qt 的样式表
4星 · 用户满意度95%
你可以尝试使用 `QPainter` 来绘制样式表,并将它们应用到截图中。下面是一个示例代码:
```cpp
#include <QtWidgets>
QPixmap grabWidgetWithStylesheet(QWidget* widget)
{
QPixmap pixmap(widget->size());
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);
widget->style()->drawPrimitive(QStyle::PE_Widget, &painter, widget);
widget->render(&painter);
painter.end();
return pixmap;
}
```
你可以使用这个函数来截取带有样式表的 `QWidget` 对象。例如,如果你想截取一个按钮并应用样式表,可以这样做:
```cpp
QPushButton button;
button.setStyleSheet("background-color: red; color: white;");
button.setText("Test Button");
QPixmap pixmap = grabWidgetWithStylesheet(&button);
pixmap.save("screenshot.png");
```
这将截取带有样式表的按钮并保存为一个名为 "screenshot.png" 的图像文件。
阅读全文