上图中是一个点餐系统的菜谱演示效果图。其中使用的布局就是QGridLayout,它的每一个元素都是一个自定义的widget,自定义的widget里边实现了菜谱照片和价格以及名称的显示。
网格布局的实现
//创建菜谱列表,并进行网格布局
for (int i = 0; i < PER_PAGE_COUNT; i++)
{
AbstractMenuWidget *w = new AbstractMenuWidget(m_iconList.at(i),
m_textList.at(i),
m_priceList.at(i));
m_menu_list.append(w);
connect(w,SIGNAL(signalAddMenu()),m_PSignalMapper,SLOT(map()));
m_PSignalMapper->setMapping(w,m_textList.at(i));
m_pMainLayout->addWidget(w,i/PER_ROW_COUNT,i%PER_COLUMN_COUNT);
}