Приложение изначально разрабатывалось для QT версии 5.5, развернутой в Windows 7. Снимки экрана сохраняются с помощью метода grab (). Теперь мы развернули программное обеспечение на Windows 10. В пользовательском интерфейсе есть виджеты, цвета фона которых обновлены до красного / зеленого / серого. С дисплеем все в порядке, но сохраненный файл .jpg не отображает цвета фона при открытии в программе просмотра фотографий или в любом другом приложении W10 по умолчанию для файлов jpg.
Я сохраняю файл jpg, используя:
void TestExecutiveView::on_createReportScreenShot(QString reportFolder, QString workflowFileNamePrefix)
{
QString fileName = QString("%1/%2_TestReport.jpg").arg(reportFolder).arg(workflowFileNamePrefix);
int fnbr = 1;
while (QFile::exists(fileName))
{
fileName = QString("%1/%2_TestReport_%3.jpg")
.arg(reportFolder)
.arg(workflowFileNamePrefix)
.arg(QString::number(fnbr++));
}
m_ui->tabWidgetSxTest->grab().save(fileName);
}
То, как я устанавливаю цвет, используя стиль, выглядит следующим образом:
void TestExecutiveView::mConfigureTestStatusBox(QTextEdit* teWidget)
{
const QString k_textEditStyleRed("QTextEdit {background: red}");
QString colorStyle = k_textEditStyleRed;
teWidget->setStyleSheet(colorStyle);
}