废话不多说,直接上代码:
bool MainWindow::saveOnExit()
{
QString det = tr("You are closing software, whether to save or update ini config file Now?");
det = tr("<font size='5' color='white'>") + det;// html方法设置字号和颜色
det += tr("</font>");
QMessageBox msgbox(QMessageBox::Information,
ConfigApp::AppName,
det,
QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);// 翻译要在qt_zh_CN中设置
msgbox.setParent(this);
msgbox.setFixedHeight(200);
msgbox.button(QMessageBox::Save)->setFont(QFont("Microsoft Yahei"));//设置按钮字体
msgbox.button(QMessageBox::Discard)->setFont(QFont("Microsoft Yahei"));
msgbox.button(QMessageBox::Cancel)->setFont(QFont("Microsoft Yahei"));
msgbox.setStyleSheet("QMessageBox{background-color: qlineargradient(spread:pad, x1: 0, y1: 0, x2: 0, y2: 1, \
stop:0 rgb(20,124,209), \
stop: 0.5 rgb(18,97,163), \
stop: 1 rgb(28,120,183));}");
int ret = msgbox.exec();
switch (ret)
{
case QMessageBox::Save:
return saveIni();
case QMessageBox::Cancel:
return false;
default:
break;
}
return true;
}
说明:这是一个软件退出弹窗,里面包含保存-不保存-取消三种状态。
--取消在这里意思是取消退出,继续操作软件;
--保存在这里意思是执行保存操作后退出软件;
--不保存在这里意思是强制退出软件。
主要记录下html方法设置字号和颜色、msgbox.button字体设置,msgbox.setStyleSheet设置整体样式的方法。
如果对您有用,点个赞就很nice
网友评论