我尝试使用以下语法将QString定义为QWizard页面中的字段:
registerField("MESSAGE", this);
我可以正确设置字段值并使用QWizardPage :: field()获取它的值,但我总是发出以下警告:
QWizard :: setField:无法写入属性''
如何创建QString字段以便不会收到此类警告?
答案 0 :(得分:1)
使用虚拟QLineEdit:
protected void onPostExecute(String json) {
try {
JSONObject jsonObject = new JSONObject(json);
JSONArray jsonArray = jsonObject.getJSONArray("server_response");
JSONObject JO = jsonArray.getJSONObject(0);
String code = JO.getString("code");
String message = JO.getString("message");
if (code.equals("true")) {
/**********************************/
LayoutInflater inflater = activity.getLayoutInflater();
View mContainer = inflater.inflate(R.layout.fragment_home, null);
// LinearLayout linearLayout = (LinearLayout)mContainer.findViewById(R.id.mylinearLayout);
TextView text = new TextView(linearLayout.getContext());
text.setText("TEST");
text.setTextSize(30);
Log.d("View", "Start");
try {
((ViewGroup)activity.findViewById(R.id.mylinearLayout)).addView(text);
} catch (Exception e) {
e.printStackTrace();
}
在另一页:
QLineEdit *dummy = new QLineEdit(this);
dummy->setVisible(false);
registerField("MESSAGE", dummy);
setField("MESSAGE", "bar");
QLineEdit将向导页面作为其父级,因此不会导致内存泄漏。只要您不将其添加到布局并使其不可见,它就不会显示在您的页面上。