• 2967阅读
  • 1回复

[提问]为什么setForeground函数原型中形参类型为QBrush,而在上面例程中传入的参数类型为QColor也会编译动过? [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 楼主  发表于: 2016-04-29
— 本帖被 XChinux 执行加亮操作(2016-04-30) —
函数原型:void QTextFormat::setForeground(const QBrush & brush)

QColor color = QColorDialog::getColor(Qt::black,this); //使用了标准颜色对话框的方式,当单击触发颜色按钮时,弹出标准颜色对话框选择颜色

    if(color.isValid())

    {

        QTextCharFormat format;

        format.setForeground(color);

        showWidget->text->mergeCurrentCharFormat(format);

    }

为什么setForeground函数原型中形参类型为QBrush,而在上面例程中传入的参数类型为QColor也会编译动过啊??求大神指导问题困扰了好久了,希望大神帮忙解决一下
本帖提到的人: @XChinux @lifengjz @q洁士铭
离线kimtaikee

只看该作者 1楼 发表于: 2016-04-29
这是C++基本功,编译器自动帮你用QColor创建了QBrush传给setForeground
  1. QBrush(const QColor & color, Qt::BrushStyle style = Qt::SolidPattern)
  2. QBrush(Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern)

快速回复
限100 字节
 
上一个 下一个