首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QStackedWidget里setCurrentWidget时,怎么添加参数

2012-03-19 
QStackedWidget里setCurrentWidget时,如何添加参数?建立了一个QStackedWidget,里面有若干widget,通过m_pSt

QStackedWidget里setCurrentWidget时,如何添加参数?
建立了一个QStackedWidget,里面有若干widget,通过
  m_pStackedWidget->addWidget(m_pWidget1);

添加进来,然后根据用户在菜单上的选择,设置当前激活的界面widget。

现在有个问题,就是有几个界面widget,它们什么都是一样的,就是里面显示的数据不同。

比如界面一需要显示语文科目。界面二需要显示数学科目,界面三需要显示英语科目。

但是这几个界面操作,外观等都是一模一样的,就是用户选择语文的话,显示语文的信息,选择数学的话,显示数学的信息等。

请问,在根据用户的选择,设置当前激活的界面widget时,如何可以把用户的选择传递给这个界面widget呢?然后在界面里,就可以根据传递进来的选择,去取和显示不同的内容了?

谢谢。




[解决办法]
可能没大懂你的意思。。我就按照我自己的理解说了

假设语文对应的是m_pWidget1,数学对应的是m_pWidget2,英语对应的是m_pWidget3……

那么当在选择menu中的具体命令时,比如语文,就可以发出一个信号 emit menuCommandChanged(1);

当然前提是,你定义了一个信号SIGNAL为 menuCommandChanged(int)

并且之前进行了声明: 
connect(this, SIGNAL(menuCommandChanged(int)), m_pStackedWidget, SLOT(yourOwnFunc(int)));

这个yourOwnFunc 是一个SLOT函数,里面就可以写
m_pStackedWidget->setCurrentIndex(a);//a为当前新的index,由SIGNAL传过来
然后根据a的具体值,设置当前widget里面的具体值。

热点排行