C++ 向QGridLayout添加太多小部件
我有一个由设计器创建的UI,带有QGridLayout,其中我从代码中添加了我的自定义小部件。当我添加1~4个自定义小部件时没有问题,但当我尝试添加更多时,它们会重叠 下面是一张图片,用于完成说明: 没有重叠: 重叠: 我正试图找到一种方法,在QGridLayout中添加一些滚动,这样我的自定义小部件就不会在它们之间重叠,我可以与它们进行交互C++ 向QGridLayout添加太多小部件,c++,qt,qwidget,qscrollarea,qgridlayout,C++,Qt,Qwidget,Qscrollarea,Qgridlayout,我有一个由设计器创建的UI,带有QGridLayout,其中我从代码中添加了我的自定义小部件。当我添加1~4个自定义小部件时没有问题,但当我尝试添加更多时,它们会重叠 下面是一张图片,用于完成说明: 没有重叠: 重叠: 我正试图找到一种方法,在QGridLayout中添加一些滚动,这样我的自定义小部件就不会在它们之间重叠,我可以与它们进行交互 我尝试使用QScrollArea,但当我添加了4个以上的小部件时,它们继续重叠,并且滚动无法正常工作。在按代码设计时,您是否有同样的问题,而不是使用设计器
我尝试使用QScrollArea,但当我添加了4个以上的小部件时,它们继续重叠,并且滚动无法正常工作。在按代码设计时,您是否有同样的问题,而不是使用设计器?我遇到了一些问题,发现编写gui是一种更干净、更优雅的方式,
minimumSize()
和sizeHint()
会在您的自定义小部件上返回什么?我认为您没有正确地实现这些功能。我遇到了这个问题,通过设置this->setMinimumHeight(267)解决了它;其中267是我的小部件的整数高度。我没有尝试对主ui进行编码,因为它非常简单(有些QLabel带有一些文本和一些图像,中间还有QGridLayout),而且在设计器上进行编码更容易。试着按代码进行编码,尤其是在这样一个简单的gui上。此外,您将获得更简单的代码,更易于理解的代码。我一直认为qt设计器不是一个很好的软件好吧,我会试试。但是你知道有什么方法可以将滚动添加到QGridLayout中吗?QScrollWidget应该这样做。有关示例,请参阅qtSure的文档,抱歉。Qscrollarea是你需要的