在Qt4.8下为窗体添加滚动区域QScrollArea

    我是一个Qt的初学者,可谓菜到了极点,最近做的一个东西要用到滚动区域,可惜网上查了很多资料,真正适合我的并不多,因为网上的东西基本上都是全代码实现的,可惜我做东西时,控件基本上都是在Qt的设计器里拖放的。不过折腾了一段时间后,勉强算是实现了,毕竟我是Qt菜鸟营中的菜鸟,相信我的实现方法肯定有不当的地方,还希望技术大牛们在看到我的这个笨拙的方法后,能给予批评指正。

    在我做的这个东西里,我想要实现的是:在程序主界面上点击一个按钮的时候,这个带有滚动区域的对话框就显示出来。

    首先,在类的头文件里,定义私有的QScrollArea的指针变量:

          QScrollArea *scroll;
    然后,在类的构造函数中,添加代码:
    scroll = new QScrollArea;      
    scroll->setWidget(ui->widget);
     
    可是,如何正常的显示出来,又出了问题,要是在构造函数里加上代码:scroll.show(),一运行程序,这个对话框就会显示出来,但是不加上scroll.show()的话,又完全没有滚动区域的效果。在该对话框的showEvent()里添加这句代码也会导致一运行程序,这个对话框就显示出来。最后,我想到了一个办法,那就是通过信号槽来实现。
    点击主界面的那个按钮时,发出显示该对话框的信号 show_IQdlg_sig(),在该对话框的类中定义槽函数 show_IQdlg_slot(),在该槽函数中添加代码 scroll.show()就行了。注意添加的不是this.show(),而是scroll.show().效果如下图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值