本文整理汇总了C++中QColor类的典型用法代码示例。如果您正苦于以下问题:C++ QColor类的具体用法?C++ QColor怎么用?C++ QColor使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QColor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: qcolor_to_qstring
static
QString
qcolor_to_qstring(const QColor& col)
{
return QString::fromUtf8("rgb(%1,%2,%3)").arg( col.red() ).arg( col.green() ).arg( col.blue() );
}
示例2: onDistribution
void MainWindow::lineWorld()
{
QColor color;
Mat image;
std::default_random_engine generator;
std::normal_distribution<double> onDistribution(30.0,10.0);
std::normal_distribution<double> offDistribution(10.0,5.0);
int x, y;
int number = 0;
bool onOff = false;
int width = 100;
int height = 100;
int stepSizeX = 11;
int stepSizeY = 12;
QFileDialog *dialog = new QFileDialog();
dialog->setNameFilter("PNG Files (*.png)");
dialog->setOption(QFileDialog::ReadOnly);
//dialog->setOption(QFileDialog::DontUseNativeDialog);
dialog->setDirectory(".");
QStringList fileNames;
if (dialog->exec()) {
fileNames = dialog->selectedFiles();
QString fileName = fileNames.at(0);
image = imread(fileName.toStdString(), CV_LOAD_IMAGE_COLOR);
height = image.rows;
width = image.cols;
motorControl.openShutter();
for (y=0;y!=height;++y) {
for(x=0;x!=width; x++) {
motorControl.setLedColor(color);
if (number<=0) {
if(onOff) {
color.setRed(0);
color.setGreen(0);
color.setBlue(0);
motorControl.setLedColor(color);
onOff = false;
number = int(offDistribution(generator));
} else {
onOff = true;
number = int(onDistribution(generator));
}
}
if(onOff) {
color.setBlue( image.data[((y*image.cols)+x)*3] );
color.setGreen( image.data[((y*image.cols)+x)*3+1] );
color.setRed( image.data[((y*image.cols)+x)*3+2] );
motorControl.setLedColor(color);
}
motorControl.commandMotor1(3, -stepSizeX);
number--;
}
motorControl.setLedColor(QColor(0,0,0));
motorControl.commandMotor1(3, stepSizeX * width);
motorControl.commandMotor2(6, -stepSizeY);
}
motorControl.closeShutter();
// Reset x axis to initial position if the width is uneven
if( width%2 != 0) {
motorControl.commandMotor1(6, stepSizeX * width);
}
// Reset y axis to initial position
motorControl.commandMotor2(6, stepSizeY * height);
motorControl.releaseMotor1();
motorControl.releaseMotor2();
}
}
示例3: next
/**
\todo fix bézier interpolation
\code
C prev
/ /
/ /
/ /
A curr
\
\
B next (can be NULL)
\endcode
*/
void Interpolate_sV::bezierFlow(const QImage &prev, const QImage &right, const FlowField_sV *flowPrevCurr, const FlowField_sV *flowCurrNext, float pos, QImage &output)
{
const float Wmax = prev.width()-1.0001;
const float Hmax = prev.height()-1.0001;
Vector_sV a, b, c;
Vector_sV Ta, Sa;
float dist;
QColor colOut;
for (int y = 0; y < prev.height(); y++) {
for (int x = 0; x < prev.width(); x++) {
a = Vector_sV(x, y);
// WHY minus?
c = a + Vector_sV(flowPrevCurr->x(x, y), flowPrevCurr->y(x, y));
if (flowCurrNext != NULL) {
b = a + Vector_sV(flowCurrNext->x(x,y), flowCurrNext->y(x,y));
} else {
b = a;
}
dist = (b-a).length() + (c-a).length();
if (dist > 0) {
Ta = b + ( (b-a).length() / dist ) * (c-b);
Sa = (Ta - a).rotate90();
Sa = a + Sa;
} else {
Sa = a;
}
#ifdef DEBUG_I
Sa = a;
#endif
QPointF position = BezierTools_sV::interpolate(pos, c.toQPointF(), c.toQPointF(), Sa.toQPointF(), a.toQPointF());
position.rx() = x - pos*flowPrevCurr->x(x,y);
position.ry() = y - pos*flowPrevCurr->y(x,y);
position.rx() = CLAMP(position.x(), 0, Wmax);
position.ry() = CLAMP(position.y(), 0, Hmax);
#ifdef DEBUG_I
// if (x == 100 && y == 100 && false) {
// qDebug() << "Interpolated from " << toString(c.toQPointF()) << ", " << toString(a.toQPointF()) << ", "
// << toString(b.toQPointF()) << " at " << pos << ": " << toString(position);
// }
if (y % 4 == 0) {
position.rx() = x;
position.ry() = y;
}
#endif
colOut = interpolate(prev, position.x(), position.y());
#ifdef DEBUG_I
if (y % 4 == 1 && x % 2 == 0) {
colOut = right.pixel(x, y);
}
#endif
output.setPixel(x,y, colOut.rgb());
}
}
/*
for (int y = 0; y < prev.height(); y++) {
for (int x = 1; x < prev.width()-1; x++) {
if (qAlpha(output.pixel(x,y)) == 0
&& qAlpha(output.pixel(x-1,y)) > 0
&& qAlpha(output.pixel(x+1,y)) > 0) {
output.setPixel(x,y, qRgba(
(qRed(output.pixel(x-1,y)) + qRed(output.pixel(x+1,y)))/2,
(qGreen(output.pixel(x-1,y)) + qGreen(output.pixel(x+1,y)))/2,
(qBlue(output.pixel(x-1,y)) + qBlue(output.pixel(x+1,y)))/2,
(qAlpha(output.pixel(x-1,y)) + qAlpha(output.pixel(x+1,y)))/2
));
}
}
}
for (int x = 0; x < prev.width(); x++) {
for (int y = 1; y < prev.height()-1; y++) {
if (qAlpha(output.pixel(x,y)) == 0
&& qAlpha(output.pixel(x,y-1)) > 0
&& qAlpha(output.pixel(x,y+1)) > 0) {
output.setPixel(x,y, qRgba(
(qRed(output.pixel(x,y-1)) + qRed(output.pixel(x,y+1)))/2,
//.........这里部分代码省略.........
示例4: on_wireframeColorDcelButton_clicked
void DcelManager::on_wireframeColorDcelButton_clicked() {
QColor color = QColorDialog::getColor(Qt::white, this);
drawableDcel->setWireframeColor(color.redF(), color.greenF(), color.blueF());
mainWindow->updateGlCanvas();
}
示例5: SelectPenColor
//tools
void SliceEditView::SelectPenColor()
{
QColor newColor = QColorDialog::getColor(Qt::white);
if (newColor.isValid())
pDrawingContext->SetPenColor(newColor);
}
示例6: setOSDShadowColor
void tabosd::setOSDShadowColor(QColor i){
shadowColor = i;
ui->value_osd_shadow_color->setText(QString('"').append(i.name(QColor::HexArgb)).append('"'));
}
示例7: switch
const QColor& KisColorSelectorSimple::colorAt(int x, int y)
{
if (x < 0) x = 0;
if (x > width()) x = width();
if (y < 0) y = 0;
if (y > width()) y = height();
qreal xRel = x/qreal(width());
qreal yRel = 1.-y/qreal(height());
qreal relPos;
if(height()>width())
relPos = 1.-y/qreal(height());
else
relPos = x/qreal(width());
QColor color;
color.setHsvF(m_hue, 1.0, 1.0);
switch(m_parameter) {
case KisColorSelector::SL:
m_qcolor.setHslF(m_hue, xRel, yRel);
break;
case KisColorSelector::SV:
m_qcolor.setHsvF(m_hue, xRel, yRel);
break;
case KisColorSelector::SV2:
m_qcolor.setHsvF(m_hue, xRel, xRel + (1.0-xRel)*yRel);
break;
case KisColorSelector::hsvSH:
m_qcolor.setHsvF(xRel, yRel, m_value);
break;
case KisColorSelector::hslSH:
m_qcolor.setHslF(xRel, yRel, m_lightness);
break;
case KisColorSelector::VH:
m_qcolor.setHsvF(xRel, m_hsvSaturation, yRel);
break;
case KisColorSelector::LH:
m_qcolor.setHslF(xRel, m_hslSaturation, yRel);
break;
case KisColorSelector::H:
m_qcolor.setHsvF(relPos, 1, 1);
break;
case KisColorSelector::hsvS:
m_qcolor.setHsvF(m_hue, relPos, m_value);
break;
case KisColorSelector::hslS:
m_qcolor.setHslF(m_hue, relPos, m_lightness);
break;
case KisColorSelector::V:
m_qcolor.setHsvF(m_hue, m_hsvSaturation, relPos);
break;
case KisColorSelector::L:
m_qcolor.setHslF(m_hue, m_hslSaturation, relPos);
break;
default:
Q_ASSERT(false);
m_qcolor = QColor();
return m_qcolor;
}
return m_qcolor;
}
示例8: setColor
void KisColorSelectorSimple::setColor(const QColor &c)
{
switch (m_parameter) {
case KisColorSelector::SL:
m_lastClickPos.setX(c.hslSaturationF());
m_lastClickPos.setY(1.-c.lightnessF());
emit paramChanged(-1, -1, -1, c.hslSaturationF(), c.lightnessF());
break;
case KisColorSelector::LH:
m_lastClickPos.setX(qBound<qreal>(0., c.hueF(), 1.));
m_lastClickPos.setY(1.-c.lightnessF());
emit paramChanged(c.hueF(), -1, -1, -1, c.lightnessF());
break;
case KisColorSelector::SV:
m_lastClickPos.setX(c.saturationF());
m_lastClickPos.setY(1-c.valueF());
emit paramChanged(-1, c.saturationF(), c.valueF(), -1, -1);
break;
case KisColorSelector::SV2: {
qreal xRel = c.hsvSaturationF();
qreal yRel = 0.5;
if(xRel != 1.0)
yRel = 1.0 - qBound<qreal>(0.0, (c.valueF() - xRel) / (1.0 - xRel), 1.0);
m_lastClickPos.setX(xRel);
m_lastClickPos.setY(yRel);
emit paramChanged(-1, -1, -1, xRel, yRel);
break;
}
case KisColorSelector::VH:
m_lastClickPos.setX(qBound<qreal>(0., c.hueF(), 1.));
m_lastClickPos.setY(c.valueF());
emit paramChanged(c.hueF(), -1, c.valueF(), -1, -1);
break;
case KisColorSelector::hsvSH:
m_lastClickPos.setX(qBound<qreal>(0., c.hueF(), 1.));
m_lastClickPos.setY(1-c.saturationF());
emit paramChanged(c.hueF(), c.saturationF(), -1, -1, -1);
break;
case KisColorSelector::hslSH:
m_lastClickPos.setX(qBound<qreal>(0., c.hueF(), 1.));
m_lastClickPos.setY(1-c.hslSaturationF());
emit paramChanged(c.hueF(), -1, -1, c.hslSaturationF(), -1);
break;
case KisColorSelector::L:
m_lastClickPos.setX(c.lightnessF());
emit paramChanged(-1, -1, -1, -1, c.lightnessF());
break;
case KisColorSelector::V:
m_lastClickPos.setX(c.valueF());
emit paramChanged(-1, -1, c.valueF(), -1, -1);
break;
case KisColorSelector::hsvS:
m_lastClickPos.setX(c.saturationF());
emit paramChanged(-1, c.saturationF(), -1, -1, -1);
break;
case KisColorSelector::hslS:
m_lastClickPos.setX(c.hslSaturationF());
emit paramChanged(-1, -1, -1, c.hslSaturationF(), -1);
break;
case KisColorSelector::H:
m_lastClickPos.setX(qBound<qreal>(0., c.hueF(), 1.));
emit paramChanged(c.hueF(), -1, -1, -1, -1);
break;
default:
Q_ASSERT(false);
break;
}
emit update();
}
示例9: setBrushColor
void SettingsDialog::setBrushColor(){
QColor color = QColorDialog::getColor(brushPB->palette().color(QPalette::Active,QPalette::Window), this);
if (color.isValid()) {
brushPB->setPalette(QPalette(color));
}
}
示例10: setSheetPenColor
void SettingsDialog::setSheetPenColor(){
QColor color = QColorDialog::getColor(sheetPenPB->palette().color(QPalette::Active,QPalette::Window), this);
if (color.isValid()) {
sheetPenPB->setPalette(QPalette(color));
}
}
示例11: switch
QVariant Util::decorationForVariant(const QVariant &value)
{
switch (value.type()) {
case QVariant::Brush:
{
const QBrush b = value.value<QBrush>();
if (b.style() != Qt::NoBrush) {
QPixmap p(16, 16);
p.fill(QColor(0, 0, 0, 0));
QPainter painter(&p);
painter.setBrush(b);
painter.drawRect(0, 0, p.width() - 1, p.height() - 1);
return p;
}
}
case QVariant::Color:
{
const QColor c = value.value<QColor>();
if (c.isValid()) {
QPixmap p(16, 16);
QPainter painter(&p);
painter.setBrush(QBrush(c));
painter.drawRect(0, 0, p.width() - 1, p.height() - 1);
return p;
}
}
case QVariant::Cursor:
{
const QCursor c = value.value<QCursor>();
if (!c.pixmap().isNull()) {
return c.pixmap().scaled(16, 16, Qt::KeepAspectRatio, Qt::FastTransformation);
}
}
case QVariant::Icon:
{
return value;
}
case QVariant::Pen:
{
const QPen pen = value.value<QPen>();
if (pen.style() != Qt::NoPen) {
QPixmap p(16, 16);
p.fill(QColor(0, 0, 0, 0));
QPainter painter(&p);
painter.setPen(pen);
painter.translate(0, 8 - pen.width() / 2);
painter.drawLine(0, 0, p.width(), 0);
return p;
}
}
case QVariant::Pixmap:
{
const QPixmap p = value.value<QPixmap>();
if(!p.isNull()) {
return QVariant::fromValue(p.scaled(16, 16, Qt::KeepAspectRatio, Qt::FastTransformation));
}
}
default: break;
}
return QVariant();
}
示例12: file
void SourceCodeView::showSourceCode(const QString &absFileName, const int lineNum)
{
QString fileText = fileHash.value(absFileName);
if (fileText.isNull()) { // File not in hash
m_currentFileName.clear();
// Assume fileName is relative to directory
QFile file(absFileName);
if (!file.exists()) {
clear();
appendHtml(tr("<i>File %1 not available</i>").arg(absFileName));
return;
}
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
clear();
appendHtml(tr("<i>File %1 not readable</i>").arg(absFileName));
return;
}
fileText = QString::fromUtf8(file.readAll());
fileHash.insert(absFileName, fileText);
}
if (m_currentFileName != absFileName) {
setPlainText(fileText);
m_currentFileName = absFileName;
}
QTextCursor cursor = textCursor();
cursor.setPosition(document()->findBlockByNumber(lineNum - 1).position());
setTextCursor(cursor);
centerCursor();
cursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor);
QTextEdit::ExtraSelection selectedLine;
selectedLine.cursor = cursor;
// Define custom color for line selection
const QColor fg = palette().color(QPalette::Highlight);
const QColor bg = palette().color(QPalette::Base);
QColor col;
const qreal ratio = 0.25;
col.setRedF(fg.redF() * ratio + bg.redF() * (1 - ratio));
col.setGreenF(fg.greenF() * ratio + bg.greenF() * (1 - ratio));
col.setBlueF(fg.blueF() * ratio + bg.blueF() * (1 - ratio));
selectedLine.format.setBackground(col);
selectedLine.format.setProperty(QTextFormat::FullWidthSelection, true);
setExtraSelections(QList<QTextEdit::ExtraSelection>() << selectedLine);
}
示例13: QString
QString LC_List::getStrData(Plug_Entity *ent) {
if( NULL == ent)
return QString("%1\n").arg(tr("Empty Entity"));
QHash<int, QVariant> data;
QString strData(""),
strEntity("%1\n"),
strCommon(" %1: %2\n"),
strSpecific(" %1: %2\n"),
strSpecificXY( QString(" %1: %2=%3 %4=%5\n").arg("%1",tr("X"),"%2",tr("Y"),"%3"));
double numA, numB, numC;
QPointF ptA, ptB, ptC;
//common entity data
ent->getData(&data);
strData = strCommon.arg(tr("Layer")).arg(data.value(DPI::LAYER).toString());
QColor color = data.value(DPI::COLOR).value<QColor>();
strData.append( strCommon.arg(tr("Color")).arg(color.name()));
strData.append( strCommon.arg(tr("Line type")).arg(data.value(DPI::LTYPE).toString()));
strData.append( strCommon.arg(tr("Line thickness")).arg(data.value(DPI::LWIDTH).toString()));
strData.append( strCommon.arg(tr("ID")).arg(data.value(DPI::EID).toLongLong()));
//specific entity data
int et = data.value(DPI::ETYPE).toInt();
switch (et) {
case DPI::POINT:
strData.prepend( strEntity.arg(tr("POINT")));
strData.append( strSpecificXY.arg(tr("in point")).
arg(d->realToStr(data.value(DPI::STARTX).toDouble())).
arg(d->realToStr(data.value(DPI::STARTY).toDouble())));
break;
case DPI::LINE:
strData.prepend( strEntity.arg(tr("LINE")));
ptA.setX( data.value(DPI::STARTX).toDouble());
ptA.setY( data.value(DPI::STARTY).toDouble());
ptB.setX( data.value(DPI::ENDX).toDouble());
ptB.setY( data.value(DPI::ENDY).toDouble());
strData.append( strSpecificXY.arg(tr("from point")).
arg(d->realToStr(ptA.x())).
arg(d->realToStr(ptA.y())));
strData.append( strSpecificXY.arg(tr("to point")).
arg(d->realToStr(ptB.x())).
arg(d->realToStr(ptB.y())));
ptC = ptB - ptA;
numA = sqrt( (ptC.x()*ptC.x())+ (ptC.y()*ptC.y()));
strData.append( strSpecific.arg(tr("length")).arg( d->realToStr(numA)));
numB = asin(ptC.y() / numA);
numC = numB*180/M_PI;
if (ptC.x() < 0) numC = 180 - numC;
if (numC < 0) numC = 360 + numC;
strData.append( strSpecific.arg(tr("Angle in XY plane")).arg(d->realToStr(numC)));
strData.append( strSpecificXY.arg(tr("Inc.")).
arg(d->realToStr(ptC.x())).
arg(d->realToStr(ptC.y())));
break;
case DPI::ARC:
strData.prepend( strEntity.arg(tr("ARC")));
strData.append( strSpecificXY.arg(tr("center point")).
arg(d->realToStr(data.value(DPI::STARTX).toDouble())).
arg(d->realToStr(data.value(DPI::STARTY).toDouble())));
numA = data.value(DPI::RADIUS).toDouble();
numB = data.value(DPI::STARTANGLE).toDouble();
numC = data.value(DPI::ENDANGLE).toDouble();
strData.append( strSpecific.arg(tr("radius")).arg(d->realToStr(numA)));
strData.append( strSpecific.arg(tr("initial angle")).arg(d->realToStr(numB*180/M_PI)));
strData.append( strSpecific.arg(tr("final angle")).arg(d->realToStr(numC*180/M_PI)));
if( numB > numC) {
numB -= 2.0 * M_PI;
}
strData.append( strSpecific.arg(tr("length")).arg( d->realToStr((numC-numB)*numA)));
break;
case DPI::CIRCLE:
strData.prepend( strEntity.arg(tr("CIRCLE")));
strData.append( strSpecificXY.arg(tr("center point")).
arg(d->realToStr(data.value(DPI::STARTX).toDouble())).
arg(d->realToStr(data.value(DPI::STARTY).toDouble())));
numA = data.value(DPI::RADIUS).toDouble();
strData.append( strSpecific.arg(tr("radius")).arg(d->realToStr(numA)));
strData.append( strSpecific.arg(tr("circumference")).arg(d->realToStr(numA*2*M_PI)));
strData.append( strSpecific.arg(tr("area")).arg(d->realToStr(numA*numA*M_PI)));
break;
case DPI::ELLIPSE://toy aqui
strData.prepend( strEntity.arg(tr("ELLIPSE")));
strData.append( strSpecificXY.arg(tr("center point")).
arg(d->realToStr(data.value(DPI::STARTX).toDouble())).
arg(d->realToStr(data.value(DPI::STARTY).toDouble())));
strData.append( strSpecificXY.arg(tr("major axis")).
arg(d->realToStr(data.value(DPI::ENDX).toDouble())).
arg(d->realToStr(data.value(DPI::ENDY).toDouble())));
/* strData.append( QString(tr(" minor axis: X=%1 Y=%2\n")).arg(
data.value(DPI::ENDX).toDouble()).arg(
data.value(DPI::ENDY).toDouble() ) );
strData.append( QString(tr(" start point: X=%1 Y=%2\n")).arg(
data.value(DPI::ENDX).toDouble()).arg(
data.value(DPI::ENDY).toDouble() ) );
strData.append( QString(tr(" end point: X=%1 Y=%2\n")).arg(
data.value(DPI::ENDX).toDouble()).arg(
data.value(DPI::ENDY).toDouble() ) );
strData.append( QString(tr(" initial angle: %1\n")).arg(numB*180/M_PI) );
strData.append( QString(tr(" final angle: %1\n")).arg(numC*180/M_PI) );
//.........这里部分代码省略.........
示例14: painter
void SampleTCOView::paintEvent( QPaintEvent * pe )
{
QPainter painter( this );
if( !needsUpdate() )
{
painter.drawPixmap( 0, 0, m_paintPixmap );
return;
}
setNeedsUpdate( false );
if (m_paintPixmap.isNull() || m_paintPixmap.size() != size())
{
m_paintPixmap = QPixmap(size());
}
QPainter p( &m_paintPixmap );
QLinearGradient lingrad( 0, 0, 0, height() );
QColor c;
bool muted = m_tco->getTrack()->isMuted() || m_tco->isMuted();
// state: selected, muted, normal
c = isSelected() ? selectedColor() : ( muted ? mutedBackgroundColor()
: painter.background().color() );
lingrad.setColorAt( 1, c.darker( 300 ) );
lingrad.setColorAt( 0, c );
// paint a black rectangle under the pattern to prevent glitches with transparent backgrounds
p.fillRect( rect(), QColor( 0, 0, 0 ) );
if( gradient() )
{
p.fillRect( rect(), lingrad );
}
else
{
p.fillRect( rect(), c );
}
p.setPen( !muted ? painter.pen().brush().color() : mutedColor() );
const int spacing = TCO_BORDER_WIDTH + 1;
const float ppt = fixedTCOs() ?
( parentWidget()->width() - 2 * TCO_BORDER_WIDTH )
/ (float) m_tco->length().getTact() :
pixelsPerTact();
float nom = Engine::getSong()->getTimeSigModel().getNumerator();
float den = Engine::getSong()->getTimeSigModel().getDenominator();
float ticksPerTact = DefaultTicksPerTact * nom / den;
float offset = m_tco->startTimeOffset() / ticksPerTact * pixelsPerTact();
QRect r = QRect( TCO_BORDER_WIDTH + offset, spacing,
qMax( static_cast<int>( m_tco->sampleLength() * ppt / ticksPerTact ), 1 ), rect().bottom() - 2 * spacing );
m_tco->m_sampleBuffer->visualize( p, r, pe->rect() );
QFileInfo fileInfo(m_tco->m_sampleBuffer->audioFile());
QString filename = fileInfo.fileName();
paintTextLabel(filename, p);
// disable antialiasing for borders, since its not needed
p.setRenderHint( QPainter::Antialiasing, false );
// inner border
p.setPen( c.lighter( 160 ) );
p.drawRect( 1, 1, rect().right() - TCO_BORDER_WIDTH,
rect().bottom() - TCO_BORDER_WIDTH );
// outer border
p.setPen( c.darker( 300 ) );
p.drawRect( 0, 0, rect().right(), rect().bottom() );
// draw the 'muted' pixmap only if the pattern was manualy muted
if( m_tco->isMuted() )
{
const int spacing = TCO_BORDER_WIDTH;
const int size = 14;
p.drawPixmap( spacing, height() - ( size + spacing ),
embed::getIconPixmap( "muted", size, size ) );
}
// recording sample tracks is not possible at the moment
/* if( m_tco->isRecord() )
{
p.setFont( pointSize<7>( p.font() ) );
p.setPen( textShadowColor() );
p.drawText( 10, p.fontMetrics().height()+1, "Rec" );
p.setPen( textColor() );
p.drawText( 9, p.fontMetrics().height(), "Rec" );
p.setBrush( QBrush( textColor() ) );
p.drawEllipse( 4, 5, 4, 4 );
}*/
p.end();
//.........这里部分代码省略.........
示例15: pixel
uint QColormap::pixel(const QColor &color) const
{ return color.rgba(); }