如何在不释放鼠标按钮的情况下更改所选文本
How to change selected text without mouse button release
我正在使用QT创建者编写小型c++应用程序,我有一个问题,我想从任何应用程序中选择文本,我使用这个QClipboard库(SIGNAL(selectionChanged())
),但它不能正常工作,我正在获得选定的文本,但只有在我释放鼠标按钮之后。我想在没有鼠标按钮的情况下获得"实时"选定文本。有什么简单的方法吗?
首先你需要添加这个头文件:QClipboard
然后……
connect(qApp->clipboard, SIGNAL(selectionChanged), this, SLOT(your_slot()));
void your_slot() {
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(qApp->clipboard->text());
}
http://doc.qt.io/qt-5/qclipboard.html#selectionChanged
看起来只支持X11,比如Linux。
如果你对实时跟踪程序中的鼠标选择感兴趣,你可以直接查看鼠标事件或键盘事件,或者富文本处理框架(QTextCursor
)。
你也可以发送一个copy
呼叫,而鼠标是在一个定时器,然后看看dataChanged
信号。
希望对你有帮助。
相关文章:
- Doxygen - 如何在不生成图形的情况下生成文本调用关系结果
- 在没有 API 的情况下使用谷歌翻译文本
- 如何在不知道大小的情况下读取文本文件并存储到数组中
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 在这种情况下,将数据存储在诸如SQLite之类的数据库中,还是存储在平面文本文件中更好
- 我可以在不知道文本文件的列数的情况下读取二维数组中的文件吗?
- 使用QT,如何在不读取整个文件的情况下删除文本文件中的第一行
- 如何在不移动C 中的光标坐标的情况下输出文本以控制特定坐标
- 如何在不添加换行符的情况下将文本附加到QPlainTextEdit,并保持滚动在底部
- 如何在不显示文本的情况下分配Win32编辑控件的窗口名称
- 在不使用退格键的情况下替换 Linux 终端中的文本
- 在不存储的情况下解析文本文件 (tftp)
- 在不使用文本框的情况下接受来自条形码扫描仪的输入
- 如何在没有Windows API的情况下在Turbo-C++中制作一个简单的文本编辑器
- 如何在不显示十六进制的情况下读取dat文件中的文本?C++
- 在没有项目的情况下使用 Dev c++ 在窗口中绘制文本
- 是否可以在不覆盖输入中的当前文本的情况下进行 cout
- 如何在不使用cout/printf的情况下输出文本在cpp和c中
- 是否可以在不向其写入文本的情况下在控制台中为给定的行着色
- 在没有外部库的情况下将 utf-16 文本文件正确读取到字符串中