【发布时间】:2016-05-13 15:06:59
【问题描述】:
(使用 Visual Studio Community 2015,Qt 5.6.0)
出于培训目的,我尝试使用信号和插槽事件通过 QLabel 显示 RGB QPixmap。 (显示一种颜色预览)
为此,我为每个值(r、g 和 b)添加了三个滑块。例如,当我更新红色滑块时,它应该使用颜色值生成一个新的 QPixmap,然后将其放入 QLabel,如下所示:
void Application::updateColorLabel(int value) {
int r, g, b;
QPixmap pixmap;
QColor color;
this->ui.label_minValueR->setNum(value);
pixmap = QPixmap(this->ui.label_color_preview->size());
r = this->ui.label_minValueR->text().toInt();
g = this->ui.label_minValueG->text().toInt();
b = this->ui.label_minValueB->text().toInt();
color = QColor(r, g, b);
this->ui.label_color_preview->setPixmap(pixmap);
}
效果不是很好,因为我得到了一个黑色的 QLabel,它的彩色像素很少,比如this。我真的不知道为什么会显示这个。
有人能帮我解决一下吗?
【问题讨论】:
-
color未使用,像素图pixmap分配了一定大小但未初始化。你错过了pixmap.fill(color);电话吗? -
@peppe 谢谢你的朋友,我发布了一个提到你的答案。 :)
标签: qt colors pixels qpixmap qlabel