在给label设置背景颜色或者填充颜色的时候想到 setStyleSheet的方法
例如 label->setStyleSheet("background-color:rgb(100,100,100)");
例如 label->setStyleSheet("background-color:rgb(100,100,100)");
但是这里rgb的数值是固定的,怎么能组合不同的rgb 呢,一种方法是用 qstring 组合的方法 ,另外qt 也提供了一种方法来显示变量的组合
qt 中有这个api 可以用
http://qt-project.org/doc/qt-4.8/qstring.html#arg
QString i; // current file's number
QString total; // number of files to process
QString fileName; // current file's name
QString status = QString("Processing file %1 of %2: %3")
.arg(i).arg(total).arg(fileName);我的例子在这里就可以写成下列的形式:
QString color_state = QString("background-color:rgb(%1, %2, %3)").arg(64).arg(64).arg(64);
state_color_label = new QLabel(this);
state_color_label->setStyleSheet(color_state);
state_color_label->setGeometry( 13, 77, 300, 190);
本文介绍如何在Qt中使用QString的arg方法动态地为控件设置背景颜色,通过组合不同的RGB值来改变label的样式。

1567

被折叠的 条评论
为什么被折叠?



