找回密码
 立即注册
收起左侧

Qt程序运行期间,屏幕分辨率改变的相关问题

6
回复
10157
查看
[复制链接]

尚未签到

来源: 2013-5-30 10:56:11 显示全部楼层 |阅读模式
4Qter豆
Qt程序运行期间,假如我直接手动设置我的电脑屏幕分辨率,有什么方法或者信号可以捕捉到这一行为。从而对界面做一些改变性的处理。请各位大神们指路~!不甚感谢~!

最佳答案

查看完整内容

有一个获取屏幕分辨率的函数 QDesktopWidget *desktop =QApplication::desktop(); QRect deskRect = desktop->availableGeometry(); //获取可用桌面大小 QRect screenRect = desktop->screenGeometry(); //获取屏幕大小 可以写一个定时器 或者开一个线程隔一段时间去检测屏幕分辨率。
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-5-30 10:56:12 显示全部楼层
有一个获取屏幕分辨率的函数  QDesktopWidget *desktop =QApplication::desktop();
    QRect deskRect = desktop->availableGeometry(); //获取可用桌面大小
    QRect screenRect = desktop->screenGeometry(); //获取屏幕大小

可以写一个定时器 或者开一个线程隔一段时间去检测屏幕分辨率。
回复

使用道具 举报

尚未签到

2013-5-30 11:11:37 显示全部楼层
顶一下啊,求大神给予指导啊,万谢~~!!!
回复

使用道具 举报

尚未签到

2013-5-31 09:32:24 显示全部楼层
study_wen 发表于 2013-5-30 16:47
有一个获取屏幕分辨率的函数  QDesktopWidget *desktop =QApplication::desktop();
    QRect deskRect = d ...

这个不能满足需求,就算定时器定义的时间在短暂,也不太合适,因为我要正好在用户改变分辨率的时候进行处理,有个信号是geometryChanged但是我却不会连接这个信号,他这个信号的类除了一个构造函数,其余全是虚函数,而且构造函数好像也构造不了对象,没法连接这个信号
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-5-31 14:52:24 显示全部楼层
我觉得这个问题,可以这样做,屏幕分辨率变了,那么 他的坐标肯定变,不知道有没有一个信号,类似被移动这样的
回复

使用道具 举报

尚未签到

2013-5-31 15:53:07 显示全部楼层
a408815041 发表于 2013-5-31 14:52
我觉得这个问题,可以这样做,屏幕分辨率变了,那么 他的坐标肯定变,不知道有没有一个信号,类似被移动这 ...

好主意,试试看 哈哈  3Q啊
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-5-31 18:15:48 显示全部楼层
xul 发表于 2013-5-31 09:32
这个不能满足需求,就算定时器定义的时间在短暂,也不太合适,因为我要正好在用户改变分辨率的时候进行处 ...

你没试过。怎么知道不行呢?  我用过一次。  是可以的。当然有更好的方法最好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了