QStackedWidget里setCurrentWidget时,如何添加参数?

dior_jadore 2011-04-11 02:37:24
建立了一个QStackedWidget,里面有若干widget,通过
m_pStackedWidget->addWidget(m_pWidget1);

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

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

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

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

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

谢谢。


...全文
1081 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
coswh 2012-02-23
  • 打赏
  • 举报
回复
不是这样的 ,应该是
假设语文对应的是m_pWidget1,数学对应的也是m_pWidget1,英语对应的也是m_pWidget1……
只是显示m_pWidget1时对于显示不同的科目,如点语文时,m_pWidget1显示语文,点数学时,m_pWidget1显示数学。。。。。
如何实现???????????
易水秋寒 2011-04-23
  • 打赏
  • 举报
回复
可能没大懂你的意思。。我就按照我自己的理解说了

假设语文对应的是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里面的具体值。

16,804

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧