Qt4 setContentsMargins()似乎无效:为什么?
情况:Qt4 setContentsMargins()似乎无效:为什么?,qt4,pyqt4,Qt4,Pyqt4,情况: 我正在处理一个以这种方式构造的Qt4应用程序(以防父窗口小部件在本期中起作用): 目标: 我希望子Qframe和它们的Qlabel之间没有余量,Qlabel和它们的QPixmap之间也没有余量 方法: 我已请求使用QFrame.setContentsMargins(0,0,0,0)及其布局的QBoxLayout.setSpacing(0)来减少子QFrame的边距。QLabel和它的QPixmap之间的零边界似乎是自然发生的 问题: 尽管如此,Qframe中的边距仍然存在:我已经能够通过
我正在处理一个以这种方式构造的Qt4应用程序(以防父窗口小部件在本期中起作用): 目标:
我希望子Qframe和它们的Qlabel之间没有余量,Qlabel和它们的QPixmap之间也没有余量 方法:
我已请求使用QFrame.setContentsMargins(0,0,0,0)及其布局的QBoxLayout.setSpacing(0)来减少子QFrame的边距。QLabel和它的QPixmap之间的零边界似乎是自然发生的 问题:
尽管如此,Qframe中的边距仍然存在:我已经能够通过将样式表应用于各种小部件来测试这种情况 我能做什么 边距的内容应在小部件及其布局上设置。因此:
事实上,setContentsMargins必须在布局上执行,如果它不起作用,那么一个可选参数是将间距设置为0->布局的setSpacing(0)。
QApplication
|_ QMainwindow
|_ QScrollArea (central widget)
|_ QFrame (child of scroll area)
|_ QFrame
| |_ QLabel
| |_ QPixmap
|_ QFrame
| |_ QLabel
| |_ QPixmap
|_ QFrame
|_ ect...
QWidget *w = new QWidget();
w->setContentsMargins(0, 0, 0, 0);
w->layout()->setContentsMargins(0, 0, 0, 0);