Qt 更新图像的颜色或图像的背景色
我正在制作图像编辑器应用程序。我想添加Qt 更新图像的颜色或图像的背景色,qt,Qt,我正在制作图像编辑器应用程序。我想添加QColorDialog以更新图像的颜色。 我已将图像设置为QLabel 这是我的代码,运行良好,但无法更改图像的颜色 void ImageViewer::updateColor() { QColor color = QColorDialog::getColor(Qt::white,ui->imageHolder); if(color.isValid()) { // QPixmap pixmap = *ui-&g
QColorDialog
以更新图像的颜色。
我已将图像设置为QLabel
这是我的代码,运行良好,但无法更改图像的颜色
void ImageViewer::updateColor()
{
QColor color = QColorDialog::getColor(Qt::white,ui->imageHolder);
if(color.isValid())
{
// QPixmap pixmap = *ui->imageHolder->pixmap();
// pixmap.fill(color);** //this is also not change color of image
ui->imageHolder->setPalette(QPalette(color));
ui->imageHolder->setAutoFillBackground(true);
ui->imageHolder->update();
}
}
我不知道如何改变图像的颜色或图像的背景颜色。。。
可能吗
有什么想法吗
谢谢…您的
imageHolder
小部件的类型是什么
我建议使用来更改小部件的背景色
正如Qt文件所述:
使用Qpalete并不能保证适用于所有样式,因为样式作者受到不同平台指南和本机主题引擎的限制
要更改小部件的背景颜色(根据imageHolder
的类型可能会有一些限制),您可以执行以下操作:
ui->imageHolder->setStyleSheet("background-color : " + color.name());
您的
imageHolder
小部件的类型是什么
我建议使用来更改小部件的背景色
正如Qt文件所述:
使用Qpalete并不能保证适用于所有样式,因为样式作者受到不同平台指南和本机主题引擎的限制
要更改小部件的背景颜色(根据imageHolder
的类型可能会有一些限制),您可以执行以下操作:
ui->imageHolder->setStyleSheet("background-color : " + color.name());
如果您试图更改图像的像素值,则Qpalete不是您所认为的用途。它用于更改UI元素的颜色
如果背景颜色是您想要更改的全部颜色,Qpalete可以完成这项工作,但您需要包含alpha通道或透明遮罩的图像。将带有alpha的PNG加载到图像支架中,看看是否有效。如果您试图更改图像的像素值,则Qpalete不是您所认为的用途。它用于更改UI元素的颜色 如果背景颜色是您想要更改的全部颜色,Qpalete可以完成这项工作,但您需要包含alpha通道或透明遮罩的图像。将带有alpha的PNG加载到图像夹中,然后查看是否有效