Windows 7上的QTextField上的QGraphicsOpacityEffect - 奇怪的行为

时间:2016-05-23 23:48:50

标签: c++ qt qt-creator

我正在尝试向窗口小部件添加淡入/淡出效果(包含其他窗口小部件,包括按钮和文本字段)。 问题是,当按钮完美淡出时,文本字段不会 - 不改变文本字段的不透明度,只改变其边框的不透明度。如果在更改不透明度之前选择了文本,则在不透明度降低后,选择看起来如此奇怪。

这个问题的原因是什么以及如何对所有小部件产生淡入淡出效果,而不仅仅是按钮?

如果您在表单上放置QTextField,可以轻松复制该问题,并将以下代码添加到按钮处理程序:

void MainWindow::on_pushButton_3_clicked()
{
       QGraphicsOpacityEffect * effect = new QGraphicsOpacityEffect(ui->plainTextEdit);
    effect->setOpacity(0.1);
    ui->plainTextEdit->setGraphicsEffect(effect);
}

运行此代码后,您将看到如下内容: Image1

void MainWindow::on_pushButton_4_clicked()
{
       QGraphicsOpacityEffect * effect = new QGraphicsOpacityEffect(ui->plainTextEdit);
    effect->setOpacity(1.0);
    ui->plainTextEdit->setGraphicsEffect(effect);

}

执行此方法后,文本字段如下所示: Image2

感谢。

0 个答案:

没有答案