Sure,there is is.
As you can see,element QStyle::CE_MenuEmptyArea,as well as QStyle::PE_PanelMenu is not drawn-only the frame is visible.
Although I managed to develop a solution at least-I draw a large QStyle::CE_MenuItem without neither text nor icon,and then paint test items on it.
But still,I don't know why the orginal code does not work.
Bookmarks