QT 主窗口 添加滚动条
Posted 小哈龙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT 主窗口 添加滚动条相关的知识,希望对你有一定的参考价值。
一.描述
我的程序布局是这样的,主窗口继承自QMainWindows,主窗口中包含一个Widget,Widget下面包含其它界面元素,这个Widget作为继承自QMainWindows的CentralWidget,QMainWindows类型的窗口中还包含默认标题栏和状态栏。我是在主窗口之中添加了一个QScrollArea,然后将Widget放入滚动条区域中,然后在主窗口的resizeEvent事件响应中检测主窗口的变化,实时修改滚动条区域的大小和放置在滚动条区域中Widget的大小,达到了需要的效果。
二.实现步骤
1.在主界面初始化时创建滚动条(QScrollArea类)
//以主界面为父窗口创建滚动条
QScrollArea *pScroll=new QScrollArea(this);
//将包含所有UI信息的Widget放进滚动条区域
pScroll->setWidget(ui.centralWidget);
2.在主窗口的resizeEvent事件响应中实时改变窗口大小
Void MainFram::resizeEvent(QResizeEvent *event)
if(pScroll)
/*设置滚动条区域大小时,需要减去状态栏那部分的高度(实际高度并非是状态栏的高度,
本处使用4倍的状态栏高度,可根据实际显示效果调整)否则会覆盖状态栏的显示。
此处53就是标题栏与任务栏的高度,是centralWidget在整个界面中相对于主界面左上角坐标
的y值*/
pScroll->setGeometry(0,53,width(),height()-4*ui.statusBar->height());
ui.centralWidget->setMinimumSize(width(),height()-4*ui.statusBar->height());
3.显示效果
以上是关于QT 主窗口 添加滚动条的主要内容,如果未能解决你的问题,请参考以下文章