Qt创建窗体下拉框并改变窗体颜色

转至:http://blog.chinaunix.net/uid-25806493-id-3343312.html

档名称

Qt创建颜色下拉框并改变窗体颜色

创建时间

2012-9-10

修改时间

2012-9-10

创建人

Baifx

简介(收获)

QPaletteQColorQPixmapQSizeQIconQStringListQString

本例是想创建一个颜色下拉框(颜色是自动从QColor中添加的),当选择某个颜色时,改变对应窗体(控件)的颜色(背景色、字体颜色等)。

主要函数:

1、创建颜色下拉框

void fillColorList( QComboBox * combobox )

{

       QStringList colorList = QColor::colorNames();

 

       QString color;

       foreach( color, colorList )

       {

              QPixmap pix( QSize( 70, 20 ) );

              pix.fill( QColor( color ) );

              combobox->addItem( QIcon( pix ), NULL );

              combobox->setIconSize( QSize( 70, 20 ) );

              combobox->setSizeAdjustPolicy( QComboBox::AdjustToContents );

       }

}

 

       2、连接信号和槽函数

connect( pWindowComboBox, SIGNAL( activated( int ) ), this, SLOT( slotWindow() ) );

 

       3、槽函数实现

void Palette::slotWindow()

{

       QStringList colorList = QColor::colorNames();

       QColor color = QColor( colorList[ pWindowComboBox->currentIndex() ] );

       QPalette p = pContentFrame->palette();//每个窗体都包含一个QPalette对象

       p.setColor( QPalette::Window, color );

       pContentFrame->setPalette( p );

}

 

注:QPalettesetColor()函数设置单一颜色,而setBrush()可以设置图片;也可以设置不同的颜色主题,通过参数ColorRole

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值