在QPlainTextEdit中通过Ctrl + Wheel启用文本缩放

时间:2014-09-12 17:44:27

标签: c++ qt qplaintextedit

文档提到editing key bindingsread-only key bindings条目中的QPlainTextEdit支持放大/缩小的 Ctrl + Wheel 键绑定。

这让我觉得这个功能是开箱即用的。但是,当我执行 Ctrl + Wheel 时,没有任何反应。是否有特别需要做的事情来启用该功能?

1 个答案:

答案 0 :(得分:4)

你可以自己做。我编写的代码片段可以在您按Ctrl并使用滚轮

时放大或缩小

在我的情况下,我使用eventFilter

if(obj == ui->plainTextEdit && event->type() == QEvent::Wheel )
{
    QWheelEvent *wheel = static_cast<QWheelEvent*>(event);
    if( wheel->modifiers() == Qt::ControlModifier )
        if(wheel->delta() > 0)
            ui->plainTextEdit->zoomIn(2);
        else
            ui->plainTextEdit->zoomOut(2);
}

或者只是制作textEdit readOnly

ui->plainTextEdit->setReadOnly(true);

现在您可以选择:使用已阻止的QPlainTextEdit进行缩放,或在用户需要时进行缩放(不会阻止)。