(使用Visual Studio Community 2015,Qt 5.6.0)
为了训练目的,我尝试使用信号和插槽事件通过QLabel显示RGB QLabel。(显示某种颜色预览)
为此,我为每个值添加了三个滑块(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,很少有彩色像素,如这。我真的不知道它为什么会显示这个。
有人能和我一起想办法吗?
发布于 2016-05-16 09:59:07
“嗯,”佩佩说得对。我忘了用颜色填充QPixmap。:)
void Application::updateColorLabel(int value) {
int r, g, b;
QPixmap pixmap;
QColor color;
this->ui.label_minValueR->setNum(value);
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);
pixmap = QPixmap(this->ui.label_color_preview->size());
pixmap.fill(color);
this->ui.label_color_preview->setPixmap(pixmap);
}谢谢你的回答!
https://stackoverflow.com/questions/37213502
复制相似问题