【问题标题】:Make a QDialog read only, but still with text selectable使 QDialog 只读,但仍可选择文本
【发布时间】:2018-02-28 18:40:10
【问题描述】:

免责声明:我不是 Qt 程序员,我只是询问是否有人可以解决 issue about DB Browser for SQLite

所以,EditDialog widget 正在扩展 QDialog 类。如问题中所述,在某些情况下,此小部件是只读的,但如果它的文本内容仍然可以选择,那就太好了。

有两个用例:

  • 用鼠标选择文本
  • 闪烁的插入符号,使用键盘 Shift + 箭头选择文本

current solution 仅修复第一种情况。没有闪烁的插入符号,键盘选择不起作用。可以改进吗?

【问题讨论】:

  • 您有机会测试我给出的答案吗?我自己是 sqlitebrower 的用户,所以我很想知道我的建议是否有帮助。
  • 开发者还没有给出消息,但是他们知道这个 SO 帖子,并且在下一个 DB4S 版本中跟踪这个问题。
  • 我刚刚找到了关于这个问题的论坛帖子:qtcentre.org/threads/…

标签: c++ qt selection textselection qdialog


【解决方案1】:

假设 textarea 是 QTextEditQPlainTextEdit,您应该可以通过调整 text interaction flags 来解决此问题。试试这样的:

ui->editorText->setTextInteractionFlags(
    Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard)

【讨论】:

  • 谢谢。我刚刚将它应用到 SQLite 的 DB 浏览器,它按预期工作。
  • 请注意,插入符号不会闪烁。但显然没有更好的解决方案。
猜你喜欢
  • 2017-09-28
  • 2013-08-21
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
  • 2015-03-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
相关资源
最近更新 更多