我有一个带有自定义背景图像的 QMessagebox。由于我想在背景图像的顶部看到一些东西,因此应该降低消息框的文本。有人知道我该怎么做吗?我已经尝试使用 br 加入一些白线,所以:
popup.setText("<font size =5 color =white ><br>""<br>""<br>""Are you sure you
want to erase the memory</font> ");
但这搞砸了背景图片。有什么办法可以将包含文本的“框”移动到较低的位置?
我有一个带有自定义背景图像的 QMessagebox。由于我想在背景图像的顶部看到一些东西,因此应该降低消息框的文本。有人知道我该怎么做吗?我已经尝试使用 br 加入一些白线,所以:
popup.setText("<font size =5 color =white ><br>""<br>""<br>""Are you sure you
want to erase the memory</font> ");
但这搞砸了背景图片。有什么办法可以将包含文本的“框”移动到较低的位置?
您可以尝试获取 QMessageBox 的布局,获取包含文本的标签并增加标签边距。这可能是一种 hack,可能会使您的项目无法移植。构建您的 QMessageBox,调用 hack,然后执行该框。
void hack(QMessageBox* pMessageBox)
{
QGridLayout* grid = qobject_cast<QGridLayout*>(pMessageBox->layout());
if (grid)
{
QLabel* label = qobject_cast<QLabel*>((grid->itemAtPosition(0,1))->widget());
if (label)
{
label->setMargin(label->margin()+5); // whatever is suitable
}
}
}