门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
界面美化
›
在两个界面切换时如何更新某个界面显示的内容? ...
发布主题
返回列表
在两个界面切换时如何更新某个界面显示的内容?
3
回复
8498
查看
[复制链接]
another_qt
当前离线
积分
141
another_qt
累计签到:11 天
连续签到:1 天
来源:
2014-6-18 10:03:11
显示全部楼层
|
阅读模式
5
Qter豆
请教各位大侠,下面这个需求用什么方法实现比较合适:
一个GUI程序里有两个界面(界面1,界面2)需要来回切换,其中界面2 某个区域是用来显示一个可能被随时修改的 txt 文件内容,请问怎么在界面1 2互相切换后更新 界面2 的这块区域以正确显示这个 txt 文件的内容?
现在我的方法:
把这个txt文件读到一个 QString中,用界面2 中的一个lable通过setText 把这个txt文件的内容显示出来。但这样的话,好像行不通。因为我把这段代码放到了界面2 的UI构造函数中了,导致只能在第一次去画 界面2的UI 时把 txt 文件给读取并显示出来;在切到界面1 并 修改 txt 文件之后再切回界面2 就不能正确显示已经修改了的 txt 文本的内容了。
界面切换是通过两个界面UI的 close 和 show 函数来实现:
界面1
->
close
();
界面2
->
show
();
是不是该用别的控件来显示 txt 文件的内容?或者 重载 界面2 的 show 函数,在里边重新更新界面2的UI?
新手上路,请各位不吝赐教。
最佳答案
begboy
查看完整内容
按照我们的做法: 1、快速的方法(其实是懒的方法) (1)设定每个TXT界面的信号槽,若TXT内容发生变化时,触发界面更新信号,界面1和界面2先后show(); (2)设定2个子界面相互激活信号槽,当发生切换时,触发界面更新信号,界面1和界面2先后show()。 这种方案实现简单,但操作系统或桌面系统不甚理想时,可能会发生闪烁; 2、在主界面程序模块中,设置子界面链表,对主界面显示缓存进行接管,根据各界面显示内容和 重叠进行计算 ...
相关帖子
QML中如何添加一条动态线段
Linux系统中,Qt界面与其他c++程序之间的信息交互
程序运行报错,error C3506
QGraphicsItemAnimation如何串行的显示动画
qt程序移植
用vs装qt怎么创建两个qt项目,socket如何在两个界面传递?
将几个按钮放到verticalLayout里面如何调整,按钮的宽度
qml下如何 使用for循环出多个Text控件或Slider控件
双向属性绑定通过ui用C++实现如何做
qml程序在windows发布,不显示界面
qml在安卓中如何切换窗口?
Qt WebEngine示例程序的浏览器,如何播放flash
给l控件英文字体指定大小,拿到开发板上加参数-fn unifont...
QML:TableView 行委托rowdelegate中的项目如何聚焦?
如何重绘直线
qt+vs 如何获取exe的版本号?
我想在qt下编写一个tftp客户端的程序,请问有什么建议吗?
qml下如何使用FOR循环出ListModel中的数据?
QT调试输出乱码,如何解决?
回复
使用道具
举报
begboy
当前离线
积分
49
begboy
尚未签到
2014-6-18 10:03:12
显示全部楼层
按照我们的做法:
1、快速的方法(其实是懒的方法)
(1)设定每个TXT界面的信号槽,若TXT内容发生变化时,触发界面更新信号,界面1和界面2先后show();
(2)设定2个子界面相互激活信号槽,当发生切换时,触发界面更新信号,界面1和界面2先后show()。
这种方案实现简单,但操作系统或桌面系统不甚理想时,可能会发生闪烁;
2、在主界面程序模块中,设置子界面链表,对主界面显示缓存进行接管,根据各界面显示内容和
重叠进行计算处理,当发生切换或各子界面内容发生变化时,计算最终叠加在主界面显示缓存的内容,
最后一次性将显示缓存投射到操作系统进行显示。
这种方案复杂一点,但全面解决闪烁等问题,效率也较高,特别是对内存紧张的应用系统。
祝好运。
begboy
评分
参与人数
1
人气
+1
收起
理由
another_qt
+ 1
多谢回复。
查看全部评分
总评分 : 
人气
+1
回复
使用道具
举报
another_qt
当前离线
积分
141
another_qt
累计签到:11 天
连续签到:1 天
2014-6-18 21:59:49
显示全部楼层
解决了;在界面2里重载 paintEvent 函数即可;在paintEvent 中重新调用 需要刷新的代码即可。
回复
使用道具
举报
begboy
当前离线
积分
49
begboy
尚未签到
2014-6-20 14:14:30
显示全部楼层
恭喜恭喜。
能解决问题是开心的事。
begboy
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了