Qt设置背景色工具栏颜色也会变化怎么解决

QPalette palette;
Palette.setColor(QPalette::window,QColor(255,150,30));
this->setPalette(palette)

你可以用 qss 专门为 MainWindow 设置 ,或者专门为工具栏设置

QMainWindow #MainWindow
{ 
background-color: rgb(xx,xx,xx)
}
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/188589
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Qt设置鼠标转圈状态以及恢复常规状态
  • 同时,你还可以查看手册:qt binding: Qt 中的内容
  • 您还可以看一下 焦岳老师的QT教程--入门实战视频精讲课程中的 线程基础小节, 巩固相关知识点
  • 除此之外, 这篇博客: QT设计模式实例【单例模式】中的 单例模式代码: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    //运动控制器 单例模式
    #define SAFE_DELETE_ELEMENT( ptr )  if(ptr != NULL){delete ptr; ptr = NULL;}
    
    class MoveController : public QObject
    {
        Q_OBJECT
        static QMutex mutex;
        static Wheel* wheel1;
        static Wheel* wheel2;
        static MoveController* instance;
    public:
        ~MoveController(){
            SAFE_DELETE_ELEMENT(instance)
        }
        static MoveController* getInstance(){
            QMutexLocker locker(&mutex);
            if(instance == NULL)
                instance = new MoveController();
            return instance;
        }
    public:
        static bool init();
        static Wheel* getWheel1(){
            return wheel1;
        }
        static Wheel* getWheel2(){
            return wheel2;
        }
    private:
        MoveController(){}
    signals:
        void mySignal(QString);
    
    private slots:
        void mySlot(QString);
    };
    
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^