使用setpage2_obj = lv_obj_create(NULL)创建出来的要怎么删除 才不会显示在屏幕上,现在是要page4_obj = lv_obj_create(lv_scr_act())创建的才行
时间: 2024-09-13 14:14:23 浏览: 72
当你使用`lv_obj_create(NULL)`创建了一个对象(如LV_OBJ_TYPE_PAGE的page2_obj),这个对象默认会附加到最近的屏幕(通常是全局活动的屏幕,也就是`lv_scr_act()`返回的那一个)。如果你想从屏幕上移除它并避免显示,你需要采取以下步骤:
1. **首先确保对象已添加到某个布局**:你需要确保page2_obj已经被添加到了一个布局里,比如一个布局数组、堆栈或者是页面内的一个容器。
2. **解除布局关联**:如果page2_obj是在某个布局里,你可以调用`lv_obj_remove_from_parent(page2_obj)`将其从当前布局中移除。
3. **清除属性**:为了完全阻止对象显示,你可以将它的`visible`属性设置为`LV_FALSE`,这样即使它没有父级布局,也不会渲染出来:
```
lv_obj_set_visible(page2_obj, LV_FALSE);
```
4. **销毁对象**:最后,如果你不再需要这个对象,可以调用`lv_obj_del(page2_obj)`释放内存资源,这一步会自动设置其可见性为`LV_FALSE`。
对于`page4_obj = lv_obj_create(lv_scr_act())`的情况,这个操作通常创建的是一个新的页面,并直接添加到当前活动屏幕,所以在大多数情况下不需要额外的操作来隐藏它,除非你之后手动设置了`visible`属性。
相关问题
setpage.cpp:5:5: warning: field 'm_obj' will be initialized after base 'PopupWidget'
这是一个关于编程的问题,我可以回答。这个警告是因为在 setpage.cpp 文件中,第 5 行第 5 列的 m_obj 字段将在 PopupWidget 基类之后初始化。这可能会导致一些问题,但具体取决于代码的实现方式和上下文。建议开发者仔细检查代码并确保正确初始化。
pdfReader = new PdfReader(filepath); PdfReaderContentParser pdfReaderContentParser = new PdfReaderContentParser(pdfReader); renderListener.setKeyWord("签名"); renderListener.setPage(1); pdfReaderContentParser.processContent(page, renderListener); float[] coordinate = renderListener.getPcoordinate();最后是null
A:可能是因为你并没有在页面上找到包含关键词“签名”的内容,所以getPcoordinate()返回了null。建议在调用getPcoordinate()之前检查一下是否成功找到了关键词,可以打印一下renderListener中收集到的内容来确认。
阅读全文