如何使用Qqabstractscrollareaa

> 怎么得到QScrollArea不带滚动条的Size
怎么得到QScrollArea不带滚动条的Size
mengyaowudi & &
发布时间: & &
浏览:131 & &
回复:2 & &
悬赏:0.0希赛币
如何得到QScrollArea不带滚动条的Size?为了能自动控制显示,把自带的跟随父控件改变大小的属性给去掉了
  setWidgetResizable(false);
在scrollArea的resizeEvent事件中处理size
  ui-&scrollAreaWidgetContents-&resize(ui-&scrollArea-&geometry().width()&-&0,&h);
高度h不用关心,主要是宽度
像上面这样写的话,当内容的高度超过了scrollArea时,下侧就会出现水平滚动条
如果手动减去一个滚动条宽度19,就可以了
  ui-&scrollAreaWidgetContents-&resize(ui-&scrollArea-&geometry().width()&-&19,&h);
但这个19是不确定的吧,而且如果没有滚动条的时候就这样了……
所以我想能否得到一个不带滚动条,显示区的size
mengyou365 & &
& & (0)(0)mengyou365 & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&Qt与图像_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
上传于||文档简介
&&Q​t​编​程
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩9页未读,继续阅读
你可能喜欢class&scrollTest&:&public&QWidget{&&&&Q_OBJECTpublic:&&&&scrollTest(QWidget&*parent&=&0,&Qt::WFlags&flags&=&0);&&&&~scrollTest();private:&&&&void&createWidget();&&&&QWidget*&createGroupBox(const&QString&&title,int&n);};scrollTest::scrollTest(QWidget*&parent,Qt::WFlags&flags):QWidget(parent,flags){&&&&createWidget();}scrollTest::~scrollTest(){}void&scrollTest::createWidget(){&&&&resize(300,360);&&&&QGridLayout*&gridLayout&=&new&QGridLayout(this);&&&&QScrollArea*&scrollArea&=&new&QScrollArea(this);&&&&//scrollArea-&setWidgetResizable(false);&&&&//scrollArea-&setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);&&&&&&&&QWidget*&scrollAreaWidgetContents&=&new&QWidget();&&&&//scrollAreaWidgetContents-&setGeometry(QRect(0,&0,&380,&251));&&&&scrollArea-&setWidget(scrollAreaWidgetContents);&&&&gridLayout-&addWidget(scrollArea,&0,&0,&1,&2);&&&&QSpacerItem*&horizontalSpacer&=&new&QSpacerItem(298,20,QSizePolicy::Expanding,QSizePolicy::Minimum);&&&&gridLayout-&addItem(horizontalSpacer,&1,&0,&1,&1);&&&&QPushButton*&pushButton&=&new&QPushButton(this);&&&&pushButton-&setText("OK");&&&&gridLayout-&addWidget(pushButton,&1,&1,&1,&1);&&&&QWidget*&content&=&new&QWidget();&&&&content-&setMinimumHeight(280);&&&&//content-&setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);&&&&&&&&QVBoxLayout*&vlayout&=&new&QVBoxLayout(content);&&&&//scrollArea-&setSizePolicy(QSizePolicy::Expanding,&QSizePolicy::Expanding);&&&&vlayout-&addWidget(createGroupBox("box1",3));&&&&vlayout-&addWidget(createGroupBox("box2",5));&&&&vlayout-&addStretch(1);&&&&scrollArea-&setWidget(content);&&&&//scrollArea-&setFixedHeight(420);}QWidget*&scrollTest::createGroupBox(const&QString&&title,int&n){&&&&QGroupBox*&box&=&new&QGroupBox(title);&&&&QVBoxLayout*&boxlayout&=&new&QVBoxLayout(box);&&&&for(int&i=0;i&n;i++)&&&&&&&&boxlayout-&addWidget(new&QRadioButton(QString("%1").arg(i)));&&&&return&}
阅读排行榜下次自动登录
现在的位置:
& 综合 & 正文
QScrollArea类给QWidget添加滚动条
(1)滚动条窗体的构造
(2)widget设置背景色。
这个是本色
Dark是这样的:
只需要一个main函数就可以了。
#include"iconeditor.h"
#include&QScrollArea&
#include&QApplication&
int main(int argc,char *argv[])
QApplication app(argc,argv);
IconEditor *iconEditor=new IconE
iconEditor-&setIconImage(QImage(":/images/mouse.png"));
QScrollArea scrollA
//iconEditor是要添加滚动条的窗口部件
scrollArea.setWidget(iconEditor);
//设置背景色的方法。
scrollArea.viewport()-&setBackgroundRole(QPalette::Light);
scrollArea.viewport()-&setAutoFillBackground(true);
//设置窗体标题
scrollArea.setWindowTitle(QObject::tr("Icon Editor"));
scrollArea.show();
return app.exec();
设置背景色的方法:
//设置背景色的方法。
scrollArea.viewport()-&setBackgroundRole(QPalette::Light);
scrollArea.viewport()-&setAutoFillBackground(true);
&&&&推荐文章:
【上篇】【下篇】qt-QScrollArea 在QDesigner中拖入一个 ,为 添加widget的方法。 Linux-Unix program 238万源代码下载-
&文件名称: qt-QScrollArea
& & & & &&]
&&所属分类:
&&开发工具: QT
&&文件大小: 2 KB
&&上传时间:
&&下载次数: 22
&&提 供 者:
&详细说明:在QDesigner中拖入一个QScrollArea,为QScrollArea添加widget的方法。-Drag in QDesigner in a QScrollArea, as QScrollArea add widget method.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&qt QScrollArea.c
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - QScrollArea的基本应用,当图片大小超过窗口大小,自动产生滚动条}

我要回帖

更多关于 qscrollarea 滚动条 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信