版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl_95520/article/details/82686419
颜色对话框
目录
颜色对话框
1、在头文件中包含 #include < QColorDialog >
void Widget::on_ColorButton_clicked()
{
QColor color = QColorDialog::getColor(Qt::red,this,
tr("颜色对话框!"));
qDebug()<<"color: "<<color;
}
这里使用了QColorDialog的静态函数getColor()来获取颜色,它的三个参数的作用分别是:设置初始颜色、指定父窗口和设置对话框标题。
getColor()函数返回一个QColor类型数据。
实现效果如下:
直接单击OK,输出信息应该是 QColor(ARGB 1, 1, 0, 0) ,这里的4个数分别代表:透明度(alpha)、红色(red)、绿色(green)、蓝色(blue)它们的数值都是从 0.0~1.0 ,有效数字为6位。对于alpha来说,1.0表示完全不透明,而0.0表示完全透明。对于三基色的数值还可以用 0~255 来表示。
颜色对话框(显示透明度)
void Widget::on_ColorButton_clicked()
{
QColor color = QColorDialog::getColor(Qt::red,this,
tr("颜色对话框!"),
QColorDialog::ShowAlphaChannel);
qDebug()<<"color: "<<color;
}
在颜色对话框中还可以添加对alpha的设置,就是在getColor()函数中再使用最后一个参数。这里的 QColorDialog::ShowAlphaChannel 用来显示alpha设置。
实现效果如下(红色框住地方作为区别处):
颜色对话框(更加灵活的设置)
void Widget::on_ColorButton_clicked()
{
//创建对象
QColorDialog dialog(Qt::red,this);
//显示alpha选项
dialog.setOption(QColorDialog::ShowAlphaChannel);
//以模态方式运行对话框
dialog.exec();
//获取当前颜色
QColor color = dialog.currentColor();
//输出颜色信息
qDebug()<<"color:"<<color;
}
前面使用 QColorDialog 类的静态成员函数来直接显示颜色对话框,好处是不用创建对象。但是如果想要灵活的设置,则可以先创建对象,然后进行各项设置。