在void OBSBasicSettings::SaveVideoSettings()中,有个
if (WidgetChanged(ui->outputResolution) &&
ConvertResText(QT_TO_UTF8(outputResolution), cx, cy)) {
config_set_uint(main->Config(), "Video", "OutputCX", cx);
config_set_uint(main->Config(), "Video", "OutputCY", cy);
}
SaveVideoSetting在void OBSBasicSettings::SaveSettings()中被调用;
而savesetting是在确认修改的时候调用的;
也就是说,最后就是通过
config_set_uint(main->Config(), "Video", "OutputCX", m_iWidth);
config_set_uint(main->Config(), "Video", "OutputCY", m_iHeight);
//下面的调用参考SaveSetting函数流程:
main->ResetVideo();
config_save_safe(main->Config(), "tmp", nullptr);
config_save_safe(GetGlobalConfig(), "tmp", nullptr);
main->SaveProject();
这样就ok了。