欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QLCDNumber设置背景色和显示数字颜色

程序员文章站 2024-01-04 08:29:52
...
//LCD时间显示
    QLCDNumber *m_pLcdTime = new QLCDNumber(this);
    //设置显示几个数字
    m_pLcdTime->setDigitCount(19);
    //设置数字字体:Outline,轮廓突出,颜色为背景色;Filled,内部填充型,颜色为黑色;Flat,平面型
    m_pLcdTime->setSegmentStyle(QLCDNumber::Flat);
    //调色板
    QPalette lcdpat = m_pLcdTime->palette();
    /*设置颜色,整体背景颜色 颜色蓝色,此函数的第一个参数可以设置多种。如文本、按钮按钮文字、多种*/
    lcdpat.setColor(QPalette::Normal,QPalette::WindowText,Qt::red);
    //设置当前窗口的调色板
    m_pLcdTime->setPalette(lcdpat);
    //设置背景色
    m_pLcdTime->setStyleSheet("background-color: yellow");
    m_pLcdTime->display(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));

    设置数字颜色时要注意:  函数setSegmentStyle(QLCDNumber::Flat)中选择Flat属性,否则在setColor()设置数字颜色时不生效
    设置背景色直接用setStyleSheet()函数设定就可以了。


--------------------------------------------------------------------------------
void frmShowAPI::InitForm()
{

	int icoWidth = 100;
	int icoHeight = 20;
	ui->cboxColor->setSizeAdjustPolicy(QComboBox::AdjustToContents);
	colorList = QColor::colorNames();

	foreach (QString color, colorList) {
		QPixmap pix(QSize(icoWidth, icoHeight));
		pix.fill(color);
		ui->cboxColor->addItem(QIcon(pix), color);
		ui->cboxColor->setIconSize(QSize(icoWidth, icoHeight));
	}

	connect(ui->cboxColor, SIGNAL(currentIndexChanged(int)), this, SLOT(ChangeColor()));
}

void frmShowAPI::ChangeColor()
{
	QString colorName = colorList.at(ui->cboxColor->currentIndex());
    QString qss = QString("QLCDNumber{background-color: rgb(0, 0, 0);color:%1;}").arg(colorName);
	ui->lcdNumber->setStyleSheet(qss);
}

上一篇:

下一篇: