我正在尝试向窗口小部件添加淡入/淡出效果(包含其他窗口小部件,包括按钮和文本字段)。 问题是,当按钮完美淡出时,文本字段不会 - 不改变文本字段的不透明度,只改变其边框的不透明度。如果在更改不透明度之前选择了文本,则在不透明度降低后,选择看起来如此奇怪。
这个问题的原因是什么以及如何对所有小部件产生淡入淡出效果,而不仅仅是按钮?
如果您在表单上放置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
感谢。