怎么让窗口中的所有部件随窗口按比例增大
2个回答
展开全部
上策:WM_SIZE WM_SIZING消息 同时改变代码。(我也 不知道怎么写。)中策:用现成模块(设置控件锚点 古木的) (挺实用的)
下策:自带窗口尺寸改变事件 写代码 (麻烦,就算你设置好了,但在不同的分辨率下有问题。)
一:古木的模块代码。
.子程序 __启动窗口_尺寸被改变
设置控件锚点 (编辑框1.取窗口句柄 (), 真, 真, 真, 真)
设置控件锚点 (按钮1.取窗口句柄 (), 真, 假, 真, 真)
模块下载地址:
二:自带窗口尺寸改变事件
.子程序 __启动窗口_尺寸被改变
编辑框1.移动 (2, 2, _启动窗口.宽度 - 4, _启动窗口.高度 - 4)
下策:自带窗口尺寸改变事件 写代码 (麻烦,就算你设置好了,但在不同的分辨率下有问题。)
一:古木的模块代码。
.子程序 __启动窗口_尺寸被改变
设置控件锚点 (编辑框1.取窗口句柄 (), 真, 真, 真, 真)
设置控件锚点 (按钮1.取窗口句柄 (), 真, 假, 真, 真)
模块下载地址:
二:自带窗口尺寸改变事件
.子程序 __启动窗口_尺寸被改变
编辑框1.移动 (2, 2, _启动窗口.宽度 - 4, _启动窗口.高度 - 4)
展开全部
基本上重新实现QWidget的resizeEvent()函数就可以达到你的要求了。
void xxx:resizeEvent( QResizeEvent* e)
{
QSize oldSize,size;
oldSize = e->oldSize(); //获取开始的size
size = e->size(); //获取现在的size
//获取长宽变化的比率
qreal ratioW,ratioH;
ratioW = size.width()/oldSize.width();
ratioH = size.height()/oldSize.height();
//窗体中的控件按比例缩放
m_item1->resize(QSize(m_item1->size().width()*ratioW,
m_item1->size.height()*ratioH));
//如果你有很多控件,请继续缩放下去……
..............
}
void xxx:resizeEvent( QResizeEvent* e)
{
QSize oldSize,size;
oldSize = e->oldSize(); //获取开始的size
size = e->size(); //获取现在的size
//获取长宽变化的比率
qreal ratioW,ratioH;
ratioW = size.width()/oldSize.width();
ratioH = size.height()/oldSize.height();
//窗体中的控件按比例缩放
m_item1->resize(QSize(m_item1->size().width()*ratioW,
m_item1->size.height()*ratioH));
//如果你有很多控件,请继续缩放下去……
..............
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询