QT--QPalette的用法

1.QPalette的概念

调色板类QPallete提供了颜色角色(color roles)概念,是指当前GUI界面中颜色的职责,通过枚举变量QPalette::ColorRole来定义,

比较常用的颜色角色有:

QPalete::Window,通常指窗口部件的背景色;

QPalette:WindowText,通常指窗口不见的前景色;

QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.

QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;

QPalette::Button,指按钮窗口部件的背景色;

QPalette::ButtonText,指按钮窗口部件的前景色.

2.QPalette的用法

QTextEdit *textEditTip = new QTextEdit;

QPalette pa = textEditTip->palette(); // 取出调色板

pa.setColor(QPalette::Base,red); // 设置调色板

textEditTip->setPalette(pa); // 放回调色板

3.QPalette的例子

QTextEdit *textEditTip = new QTextEdit;

textEditTip->setMaximumHeight(20);

textEditTip->setText("hello");



QLabel *widget = new QLabel;

widget->setMinimumWidth(200);

widget->setText("world");

widget->setStyleSheet("QLabel { background: red }");

statusBar()->addPermanentWidget(widget);



QPalette pal = widget->palette();

QBrush brush = pal.background();

QColor col = brush.color();

QPalette pa = textEditTip->palette();

pa.setColor(QPalette::Base,col);

textEditTip->setPalette(pa);

statusBar()->addPermanentWidget(textEditTip);


 解析: 将textEditTip的背景色设置为和widget的背景色一样。
posted @   手磨咖啡  阅读(1026)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示