经试验得出结论:
若直接使用getSaveFileName()等函数显示对话框,且要修改QFileDialog 样式
使用以下写法即可:
QString seiected_filter;
this->setStyleSheet("QFileDialog{background-color:rgb(90,90,90);}");
QString filename=QFileDialog::getSaveFileName( this, tr("New project..."), current_path,"Image(*.JPG*.JPEG)",&seiected_filter,QFileDialog::DontUseNativeDialog);
需要注意的是:QFileDialog::DontUseNativeDialog样式的对话框,再使用getSaveFileName函数获取文件路径和文件名时,不会自动添加后缀名,需手动添加(filename = filename+".JPG")
getOpenFileName()和getOpenFileNames()函数不需要,获取的文件名是带有后缀名的。
感谢“XChinux”和“jdwx”的帮助!