我正在尝试使用以下语法将QString定义为QWizard页面中的字段:
registerField("MESSAGE", this);
我可以正确设置字段值,并使用QWizardPage::field()获取它的值,但是我总是以下警告:
QWizard::setField:无法写入属性''
我如何创建一个QString字段以免收到这种警告?
最佳答案
使用虚拟QLineEdit:
QLineEdit *dummy = new QLineEdit(this);
dummy->setVisible(false);
registerField("MESSAGE", dummy);
setField("MESSAGE", "bar");
在另一页中:
field("MESSAGE").toString(); <-- "bar"
QLineEdit将向导页作为其父级,因此不会导致内存泄漏。而且,只要您不将其添加到布局并使其不可见,它就不会显示在页面上。
关于c++ - QWizard::setField:无法写入属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30214656/