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

Qt 专栏收录该内容
2 篇文章 0 订阅

    我是一个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().效果如下图

  • 0
    点赞
  • 3
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值