如何访问修改后的QLabel?

4

我正在实例化一个可编辑的QLabel,代码如下:

QLabel foo("some text");
foo.setTextInteractionFlags(Qt::TextEditorInteraction);

我可以点击文本并进行修改,修改后的文本必须在某个缓冲区中,但即使在检查Qt Creator中的数据字段后,我也不知道它在哪里:

QString notmodified = foo.text(); // only returns the original text

修改后的文本是否可以在某个地方访问到?
编辑:我认为使用其他方法确实更容易,但我仍然想知道我的问题的答案。
编辑:好的,已经过去一周了。 "已回答"。
2个回答

5
我认为即使您可以在 QLabel 上设置此标志(Qt::TextInteractionFlag 也被其他小部件使用,而不仅限于 QLabel),但该标志并不是为编辑而设计的。

为什么不使用 QLineEdit


绝对是的 - 这会让你自己和用户的生活变得复杂,特别是在可访问性方面,UI体验将不合理。如果您想要可编辑的文本,请使用QLineEdit。您可能想要的是,在单击时隐藏QLabel并替换为QLineEdit,然后在QLineEdit失去焦点时恢复QLabel。 - James Turner
如果你仍然想要获取它怎么办?肯定还有一些方法可以访问这些数据吧?为了真正回答OP的问题,我仍然很好奇。 - Cryptite

0

对于可编辑的文本字段,您有很好的选择,QLineEdit或QTextEdit。使用其中一个小部件。QLabel仅用于标签。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接