如何在不释放鼠标按钮的情况下更改选定的文本
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());
}
我正在使用 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());
}