QLCDNumber設定背景色和顯示數字顏色
阿新 • • 發佈:2019-01-09
//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); }