widget.cpp:279:59: error: cannot initialize a parameter of type 'const QStyleOption *' with an rvalue of type 'QPainter *' qstyle.h:208:73: note: passing argument to parameter 'opt' here
时间: 2024-04-20 18:27:40 浏览: 168
对不起,我之前的回答有一个错误。在绘制样式表时,`QStyle::drawPrimitive` 函数的第二个参数应该是 `QStyleOption` 类型的指针,而不是 `QPainter` 类型的指针。我为这个错误向你道歉。
以下是修改后的代码示例:
```cpp
#include <QtWidgets>
QPixmap grabWidgetWithStylesheet(QWidget* widget)
{
QPixmap pixmap(widget->size());
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);
QStyleOption option;
option.initFrom(widget);
widget->style()->drawPrimitive(QStyle::PE_Widget, &option, &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" 的图像文件。再次对之前的错误表示抱歉,并感谢你的理解。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)