【实例】Qt创建颜色下拉框并改变窗体颜色

14999阅读 0评论2012-09-10 baifengxian
分类:C/C++

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

文档名称

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

 

 

上一篇:Qt Class之QTableWidget(持续更新)
下一篇:【实例】Qt创建不规则窗体