• 2500阅读
  • 0回复

[提问]考人:设置背景色的两种方法 [复制链接]

上一主题 下一主题
离线zh_opera
 
只看楼主 倒序阅读 楼主  发表于: 2012-10-18
槽函数是这样的
void MainWindow::setColor()
{
    QColor color = QColorDialog::getColor(Qt::black,this);
    if(color.isValid())
        currentSplitterText->setColor(color);
}

然后实际调用的是这个
void SplitterText::setColor(QColor &color)
{
//方法1:
      textEdit->setPalette(QPalette(color));
      textEdit->setAutoFillBackground(true);
//方法2
    QPalette palette = textEdit->palette();
    palette.setColor(QPalette::Base,color);
    textEdit->setPalette(palette);
}
为什么方法1很多时候变色的不是文本框的背景,而是外部滚动栏之类的,有时能成功,颜色却是不准
而方法2总是成功的呢?
快速回复
限100 字节
 
上一个 下一个