• 7282阅读
  • 4回复

如何让一个组件充满父组件? [复制链接]

上一主题 下一主题
离线finder
 
只看楼主 正序阅读 楼主  发表于: 2009-09-28
请问大家,如何让一个组件始终充满父组件显示?

我在做一个MDI的绘图程序,类似PS的样子,使用MDI,现在把一个QGraphicsView放在QMdiSubWindow之中,希望在拖动改变QMdiSubWindow大小的时候这个QGraphicsView始终能够显示在正中,并且下面还有一个QStatusBar。我使用QVBoxLayout加入这两个组件,并且将addWidget设置为Qt::AlignHCenter,这样在拖动的时候可以基本居中,但是QStatusBar并不在窗口最下方显示,似乎这个组件并没有充满QMdiSubWindow(见图),请问这个问题怎么解决? (为明显起见,已经将QStatusBar背景色设为红色)

离线finder
只看该作者 4楼 发表于: 2009-09-29
引用第3楼cspp于2009-09-29 09:15发表的  :
放在QLayout中,比如QVBoxLauout,space margin等设置为0

我就是这么做的,这张截图是拖动QMdiSubWindow改变大小之后的样子,一开始是正常的,拖动之后似乎这个主面板并不是充满整个QMdiSubWindow。
我已经把margin和spaing设为0,所以这个白色的panel看上去是在中间显示的,只是因为主面板小了,所以status bar跑到半空中。
离线cspp

只看该作者 3楼 发表于: 2009-09-29
放在QLayout中,比如QVBoxLauout,space margin等设置为0
离线finder
只看该作者 2楼 发表于: 2009-09-29
引用第1楼dbzhang800于2009-09-28 22:08发表的  :
用QLayout

你的意思是重写一个layout?
离线dbzhang800

只看该作者 1楼 发表于: 2009-09-28
用QLayout
快速回复
限100 字节
 
上一个 下一个