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

时间:2015-07-30 13:05:03

标签: c++ linux qt selection clipboard

我正在使用QT创建者编写小型c ++应用程序,我遇到了问题,我想从任何应用程序中选择文本,我正在使用此QClipboard库(SIGNAL(selectionChanged())),但它无法正常工作诚然,我正在选择文本,但只有在我释放鼠标按钮后。我想在没有鼠标按钮的情况下“实时”选择文本。有没有简单的方法呢?

2 个答案:

答案 0 :(得分:0)

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

看起来只有X11才能支持它,就像Linux一样。

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

您还可以在鼠标停在计时器上时发送copy来电,然后查看dataChanged信号。

希望有所帮助。

答案 1 :(得分:0)

首先需要添加此头文件:QClipboard

...然后

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

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