1.3、改变pushbutton的颜色
改变button的背景颜色包括在active,Inactive以及Disabled时的背景颜色;由于Qt4已经不在有QColorGroup这个类,所以处理方式稍有不同:
For Qt3:其中but1设置三种状态不同颜色,but2设置同一种颜色:
QPushButton* but1 = new ...
QPushButton* but2 = new ...
QPalette pal = but1->palette();
QColorGroup grp = pal.active();
grp.setColor( QColorGroup::Button, Qt::blue );
pal.setActive( grp );
grp = pal.inactive();
grp.setColor( QColorGroup::Button, Qt::yellow );
pal.setInactive( grp );
grp = pal.disabled();
grp.setColor( QColorGroup::Button, Qt::green );
pal.setDisabled( grp );
but1->setPalette( pal );
pal = but2->palette();
pal.setColor( QColorGroup::Button, Qt::magenta );
but2->setPalette( pal );
For Qt4:
QPalette pal = but1->palette();
pal.setColor( QPalette::Active, QPalette::Button, Qt::blue );
pal.setColor( QPalette::Inactive, QPalette::Button, Qt::yellow );
pal.setColor( QPalette::Disabled, QPalette::Button, Qt::green );
but1->setPalette( pal );
pal = but2->palette();
pal.setColor( QPalette::Button, Qt::magenta );
but2->setPalette( pal );
一个完整的例子代码以及效果截图见2楼。
[ 此贴被XChinux在2006-06-21 20:25重新编辑 ]