• 7676阅读
  • 6回复

splitter分割窗口后,两边不协调,一边高一边低 [复制链接]

上一主题 下一主题
离线qnewert
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-19
大家好。
又是菜鸟来袭。
我程序里面调用QSplitter,有以下几个问题
1、QSplitter中只能添加控件,不能添Layout吗?
2、我先是直接用splliter添加以下三个控件,一个视频播放界面,一个按钮,以及一个列表显示框,添加后,各个控件顺序完全乱了,简直是找不到北。
            后面就调用了一个水平LAYOUT先把以上三个控件布局后,再来用splliter添加各个控件(addWidget),将窗口分割,这个时候,layout中的比例完全不像话了。
    我想问的是:当调用QSplliter时,要用到的layout吗?
如何控制播放界面和列表显示框的相对比例呢?

后面我打算做如下工作:当点击按钮时,列表显示框自动消失,再次点击时,列表显示框又回来了。
我是这样做的,在Layout中,点击按钮时,layout删除列表显示控件,再次点击按钮时,列表显示空间又加上去。但是我测试时候出了以下问题:
点击按钮时,列表显示框不见了,这是自己设置的,但是按钮也找不到了,更气愤的是,视频框不会自动填充列表显示框那部分空余的空间?
如何设置呢?
求教。
qt,第一眼见到你,就深深的爱上你了。
离线qnewert
只看该作者 1楼 发表于: 2012-04-19
   部分代码如下:先加载到Layout中,再加载到分割器上。
   videoLayout=new QHBoxLayout;
    videoLayout->addWidget(_videoWidget);//视频播放界面
    videoLayout->addWidget(splitButton);//分割按钮
    videoLayout->addWidget(listMedia);//列表显示框
    videoLayout->setSpacing(0);
    videoLayout->setAlignment(Qt::AlignLeft);

//分割器
    splitVideoList->addWidget(_videoWidget);
    splitVideoList->addWidget(splitButton);
    splitVideoList->addWidget(listMedia);
这样有没有问题阿?
qt,第一眼见到你,就深深的爱上你了。
离线uidab

只看该作者 2楼 发表于: 2012-04-20
回 1楼(qnewert) 的帖子
初学最好先用designer设计看看。然后再用代码写,有时候不好理解!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线qnewert
只看该作者 3楼 发表于: 2012-04-20
以下是我弄后的图片显示,为何不能填好所有的空余空间呢?
我将视频播放条和最下面一栏的按钮条用一个QVBoxLayout布局,设置垂直距离为1,可是为何显示出来之间隔的距离这么大呢?9
qt,第一眼见到你,就深深的爱上你了。
离线qnewert
只看该作者 4楼 发表于: 2012-04-20

请高手帮忙哦,如何让播放条放到下面来呢?
如何让视频界面填充所有的位置呢?
qt,第一眼见到你,就深深的爱上你了。
离线uidab

只看该作者 5楼 发表于: 2012-04-20
回 4楼(qnewert) 的帖子
你先用designer设计一下,然后再用代码写layout,不然逻辑关系不清楚。有时候不是一个layout能解决的。要用多个。
另外每个组件自己有FixedSize,建议也设置一下。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线qnewert
只看该作者 6楼 发表于: 2012-04-20
回 5楼(uidab) 的帖子
谢谢。我去试试先。兄台,我上面的那两幅图片应该如何去掉多余的部分呢?
如何让他自动填充呢?
固定大小的话,那样主窗口变大的话,子部件不变,这会不会更难看呢?
我的目标是左边的视频窗口随着主窗口变化而变化。
qt,第一眼见到你,就深深的爱上你了。
快速回复
限100 字节
 
上一个 下一个