• 9001阅读
  • 2回复

qt如何获取布局后的控件大小 [复制链接]

上一主题 下一主题
离线dai_lixing
 

只看楼主 倒序阅读 楼主  发表于: 2013-12-02
大家好:我想用QGraphicsView+QGraphicsScene的组合在界面显示多个波形图。这样我就用这样的函数来创建:
QGraphicsView *createView()  ///<-------这样是创建一个波形, 我需要在界面上显示多个,比如4个或9个
.{  
    QGraphicsView *view=new QGraphicsView();  
    int width=view->width(); ///<====这里的宽度是Qt默认的宽度,不是布局好的宽度    
    int height=view->height();  
    view->setSceneRect(0,0,width,height);   
    MyGraphicsScene *scene=new MyGraphicsScene(width-10,height-10,view);  
   scene->setBackgroundBrush(Qt::black);  
   scene->createScale(5,5);    
    view->setScene(scene);    
    return view;
}
可是我这样创建后, 发现, 宽度和高度都是Qt默认的宽度和高度,根本不是我布局后的后宽度和高度,请问下我如何知道布局好后的宽度和高度呢。谢谢!并且我要做到以后这个宽度和高度随着布局的变化而变化的.






离线jdwx

只看该作者 1楼 发表于: 2013-12-02
在构造函数运行完成以后,才可以得到正确的大小。例如在:resizeEvent()里
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线dai_lixing

只看该作者 2楼 发表于: 2013-12-04
哦,谢谢,是这样的,呵呵.
快速回复
限100 字节
 
上一个 下一个