刚找到论坛 还不懂怎么贴代码 只好上图片了 见谅

看到论坛有人说 ui->ui->setupUi(this); 里有了layout 但只能有一个layou 所以我就把他注释掉看 但是还是会被覆盖掉......

界面如下

------解决思路----------------------
1. 手册中是这么说的
void QWidget::setLayout(QLayout * layout)
If there already is a layout manager installed on this widget, QWidget won't let you install another.
2. QMainWindow 默认就有一个Layout。(不然菜单栏,工具栏,状态栏等等,是如何放上去的?)
------解决思路----------------------
这不是覆盖了,这个布局你去掉还是这么显示的,我一直习惯继承QDialog,用这个你的代码就没问题
看你建的还有UI文件那你怎么不直接拖控件呢
------解决思路----------------------
别用设计师,自己写布局又不费事。而且设计师出来的东西,全屏了,控件都不跟着变。你要是用设计师,直接把控件加到设计师的layout里应该也行吧,他生成的那个类里的变量都是public的
------解决思路----------------------
主要是我想把opencv读取的视频放到QT设置的窗口上 在网上找了个例子 它把一个label放到了layout里然后用setpixmap显示视频 我做的时候那个label总出不来 所以就想自己试试layout,这才发的帖子 至于为什么不用设计师因为我找不到方法在槽函数里调用ui部件
比如你在设计师里放了一个QLabel控件,名为Mylabel吧,想调用这个控件,就这样
ui->Mylabel;