【发布时间】:2020-07-01 09:30:04
【问题描述】:
我需要从 QWidget(在我的例子中是 QPushButton)中保存 QPixmap,但似乎忽略了一些样式表设置。
这是一个示例代码:
button = new QPushButton(QIcon(":/resources/icons/my_icon.png"), "Sample text", this);
button->setFocusPolicy(Qt::NoFocus);
button->setStyleSheet(" color: white; "
" background-color: gray; "
" font: 30px;"
" border-radius: 18px;");
button->setLayoutDirection(Qt::RightToLeft);
button->setIconSize(QSize(96, 96));
button->setGeometry(13, 10, 455, 100);
button->show();
QPixmap pixmap(button->size());
button->render(&pixmap);
渲染方法似乎忽略了“border-radius: 18px;”样式表的字段,我试图将 QPixmap 保存到文件中:
pixmap.save("test.png");
但保存的图像是一个矩形,没有圆形边框。 QPushButton 在应用程序显示时具有正确的圆形边框。
我在使用 QWideget::render(...) 方法时做错了吗?
【问题讨论】: