我有一个名为str的std :: string对象
我还有一个名为line_edit的QLineEdit对象。
我需要str反映用户在line_edit中写入的内容,我知道如何处理槽信号和插槽。
但是我也需要每当str改变时,QLineEdit会自动显示str的新内容。
我该怎么做?
MVC是我需要的吗?我一直在阅读它,但我还没有得到它。 另外,我读过的例子试图保持QWidget的相互更新的子对象 这让我觉得那里发生了一些神奇的事情。
我如何实现这种反应?
答案 0 :(得分:0)
首先,使用QString代替std :: string可能更容易。
你可以调用line_edit-> setText(str);从您的代码更新line_edit。
您可以使用信号QLineEdit :: textChanged在写入QLineEdit时修改str的内容。
处理信号有多种方法,一种方法是使用QObject :: connect
可能如下所示:QObject::connect(line_edit, &QLineEdit::textChanged, this, &YourClassName::setText);
然后创建setText(){str = line_edit-> text}