如何在不释放鼠标按钮的情况下更改选定的文本

How to change selected text without mouse button release

我正在使用 QT Creator 编写小型 C++ 应用程序,但我遇到了一个问题,我想从任何应用程序中选择文本,我正在使用这个 QClipboard 库 (SIGNAL(selectionChanged())),但它没有诚然,我正在获取选定的文本,但只有在我释放鼠标按钮后才能正常工作。我想在不按下鼠标按钮的情况下在 "real time" 中获取选定的文本。有什么简单的方法吗?

http://doc.qt.io/qt-5/qclipboard.html#selectionChanged

看起来只有 X11 支持得很好,比如 Linux。

如果您对实时跟踪程序中的鼠标选择感兴趣,可以直接查看鼠标事件或键盘事件,或者富文本处理框架 (QTextCursor)。

您也可以在鼠标悬停在计时器上时发送 copy 调用,然后查看 dataChanged 信号。

希望对您有所帮助。

首先你需要添加这个头文件:QClipboard

然后...

connect(qApp->clipboard, SIGNAL(selectionChanged), this, SLOT(your_slot()));

void your_slot() {
    QClipboard *clipboard = QApplication::clipboard();
    clipboard->setText(qApp->clipboard->text());
}