首页| 论坛| 消息

标题:QT堆栈窗口切换问题
作者:johnrambos
日期:2017-10-19 14:29
内容:

现在正在做一个聊天界面,类似于微信的,左边是好友列表(ListWidget),右边是聊天界面(DockWidget)
通过语句:
connect(ui->listWidget,SIGNAL(currentRowChanged(int)),this,SLOT(show_chat_page(int)));connect(ui->listWidget,SIGNAL(currentRowChanged(int)),ui->stackedWidget,SLOT(setCurrentIndex(int)));
其中一个槽函数:
void MainWindow::show_chat_page(int flag){QString username= ui->listWidget->item(flag)->text();Widget *widget=..


#1 [小韩老师 10-19 15:00]
你是每次都new一个widget,那肯定切换回来就是一个空白的,你用切换的时候判断对应聊天记录的widget是否存在,存在就直接显示,不存在再new一个
#2 [johnrambos 10-20 16:06]
可是我的那个是widget继承于stackedWidget,怎么判断Widget在之前存不存在?
#3 [小韩老师 10-20 16:42]
你遍历一遍你的ui->stackedWidget所有的widget对象,毕竟是你定制的widget已经创建时的标识信息你可以获取到,比如用户名作为标识,已经存在的就将其设置为当前显示的
#4 回 小韩老师 的帖子 [johnrambos 10-21 10:05]
小韩老师:你遍历一遍你的ui->stackedWidget所有的widget对象,毕竟是你定制的widget已经创建时的标识信息你可以获取到,比如用户名作为标识,已经存在的就将其设置为当前显示的 (2017-10-20 16:42) 
好的,谢谢小韩老师,另外老师您的教学视频是不是发在了优酷和b站上,我都有看到过诶

回复 发表
主题 版块