QT:控件样式设置误区

当我设置不同控件格式样式,原先的代码如下

复制代码
    //设置MainWindow的背景R颜色
    this->setStyleSheet("QMainWindow{background-color:#F5F8FD;}");
    //设置菜单栏字体和背景颜色
    this->setStyleSheet("QMenuBar{color:#FFFFFF;background-color:#2A579A;}");
    //设置QTextEdit的背景颜色和圆角半径
    this->setStyleSheet("QTextEdit{background-color:#FFFFFF;border-radius:15px;}");

我发现最后只实现了QTextEdit的样式

原来是在 Qt 中,当你使用 setStyleSheet 方法为控件或窗口设置样式表时,需要注意的是每次调用 setStyleSheet 都会替换掉之前设置的样式。也就是说,如果你连续多次调用 setStyleSheet 来设置不同的样式,只有最后一次调用的样式会被应用。

改之后的代码

复制代码
    this->setStyleSheet(
        "QMainWindow{background-color:#F5F8FD;}"
        "QMenuBar{color:#FFFFFF;background-color:#2A579A;}"
        "QTextEdit{background-color:#FFFFFF;border-radius:15px;}"
    );
相关推荐
计算机魔术师19 分钟前
国产多模态模型正面硬刚Opus旗舰:差距从30%缩到3%
前端
风骏时光牛马28 分钟前
程序员进阶:深度思考,解锁职场成长的底层逻辑
前端
IT_陈寒35 分钟前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
爱丶不疚1 小时前
Eval: Agent 说的 Eval 是什么?从单测、TDD 到 Sentry 聊起
前端·ai编程·vibecoding
求道於盲1 小时前
python中的类型标注
前端
计算机魔术师1 小时前
从硅谷测试到全球铺开,ChatGPT广告的10亿美元秘密
前端
程与留1 小时前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt
专业抄代码选手2 小时前
08|Fiber 上的 `useState`:状态终于属于具体组件
前端·javascript·react.js
默_笙3 小时前
😭 Vibe Coding 翻车实录:AI 编程为什么必须先写"剧本"
前端·javascript
LEE3 小时前
原来 Claude Code 最厉害的工具,一行代码都不写
前端·后端