问题:

在银河麒麟操作系统 V10.1中,需要对界面设置Palette,但是无效果,在ubuntu系统中是可以的。

原因:

银河麒麟、OpenKylin、优麒麟等操作系统均使用UKUI,qt控件部分受到影响。

解决方法:

1.检查环境变量QT_QPA_PLATFORMTHEME是否为ukui,使用以下命令。

echo $QT_QPA_PLATFORMTHEME

2.安装qt5ct

sudo apt install qt5ct

3.在代码中设置环境变量,并设置样式

#include <QApplication>
#include <QMessageBox>
int main(int argc,char*argv[]){
    qputenv("QT_QPA_PLATFORMTHEME","qt5ct");
    QApplication a(argc,argv);
    QMessageBox box;
    box.setStyleSheet("background:black");
    box.exec();
    a.exec();
}