QT界面之间传参的逻辑BUG,想不通咋改,求大神指点迷津

riiyn 2018-06-13 01:50:54
传参的过程是这样的:需要从登录界面把“用户名”作为参数传递到登陆成功后的某一个界面,然后这个界面根据传递过来的“用户名”参数查询数据库获取对应信息。

问题:参数可以正确传递,但是有一个逻辑BUG,就是点击运行程序的时候,所有的界面都编译运行了,而在编译运行的时候我需要的参数已经传过去了,但是这个时候登录界面还没打开,也就是说用户名还没来得及填写,为空,所以传过去的参数为空,也就查不到数据库信息,所以登陆以后的界面并没有显示我需要查询的数据,需要重新执行查询语句才行,因为登陆成功以后传递的“用户名”参数是不为空的,可以查询到数据库信息,这个BUG应该怎么解决呢?
我来回答
...全文
1407 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
riiyn 2018-06-15
  • 打赏
  • 举报
回复
引用 2 楼 shiyanbo_1006 的回复:
登录界面得有个信号和槽的函数FUNXX吧 登录后根据用户名去数据库查询得有个FUNYY吧 把FUNXX和FUNYY归并到一个函数里面FUNZZ去,在登录界面输入用户名的时候,槽函数为funzz funzz() { FUNXX(); FUNYY(); } 这样就你就控制函数执行顺序了! 或是设置线程同步的信号,也可以实现你的目的!你的问题和线程同步一样,就是必须B的执行必须在A结束以后才可以
谢谢指点,我试试,之前没有考虑到执行顺序的问题
riiyn 2018-06-15
  • 打赏
  • 举报
回复
引用 1 楼 YIZI_LinRL 的回复:
登陆界面: { //登陆成功后传递用户名name; SetUserName(name); } 登陆后的界面: QString username; void SetUserName(QString name) { username = name; } 通过username去查询数据库
传参没问题,我的问题是二楼说的那样,执行顺序的问题
待续_1006 2018-06-15
  • 打赏
  • 举报
回复
引用 5 楼 weixin_42074296 的回复:
[quote=引用 2 楼 shiyanbo_1006 的回复:] 登录界面得有个信号和槽的函数FUNXX吧 登录后根据用户名去数据库查询得有个FUNYY吧 把FUNXX和FUNYY归并到一个函数里面FUNZZ去,在登录界面输入用户名的时候,槽函数为funzz funzz() { FUNXX(); FUNYY(); } 这样就你就控制函数执行顺序了! 或是设置线程同步的信号,也可以实现你的目的!你的问题和线程同步一样,就是必须B的执行必须在A结束以后才可以
谢谢指点,我试试,之前没有考虑到执行顺序的问题[/quote] ok了就结贴吧
待续_1006 2018-06-13
  • 打赏
  • 举报
回复
登录界面得有个信号和槽的函数FUNXX吧 登录后根据用户名去数据库查询得有个FUNYY吧 把FUNXX和FUNYY归并到一个函数里面FUNZZ去,在登录界面输入用户名的时候,槽函数为funzz funzz() { FUNXX(); FUNYY(); } 这样就你就控制函数执行顺序了! 或是设置线程同步的信号,也可以实现你的目的!你的问题和线程同步一样,就是必须B的执行必须在A结束以后才可以
_LinGM 2018-06-13
  • 打赏
  • 举报
回复
登陆界面: { //登陆成功后传递用户名name; SetUserName(name); } 登陆后的界面: QString username; void SetUserName(QString name) { username = name; } 通过username去查询数据库

16,199

社区成员

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

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