在主窗口中设置一个horizontalLayout,把多个按钮控件放在这个horizontalLayout中,
然后写了个resizeEvent(QResizeEvent *event),在这个函数里添加了
ui->horizontalLayout->setGeometry(QRect(20,this->height()-100,this->width()-20,80));
可是这样horizontalLayout和里面的按钮控件还是不随着主窗口的大小而变化。
我想实现的功能是,当LCD屏的分辨率改变时,主窗口放大,主窗口中的horizontalLayout也会随主窗口间距变大。
有哪位知道这方面的,帮我下,不身感激啊!!!
------解决方案--------------------
我刚才已经说过了,主窗口还需要一个布局,由它来决定你的horizontalLayout的大小。
我不知道你是在代码中写的,还是在界面设计器里做的,索性给你提出一个UI文件来,你拷贝过去看看就知道了。
- XML code
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>CMainForm</class> <widget class="QWidget" name="CMainForm"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>400</width> <height>300</height> </rect> </property> <property name="windowTitle"> <string>CMainForm</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QPushButton" name="pushButton_2"> <property name="text"> <string>PushButton</string> </property> </widget> </item> <item> <widget class="QPushButton" name="pushButton"> <property name="text"> <string>PushButton</string> </property> </widget> </item> </layout> </item> </layout> </widget> <layoutdefault spacing="6" margin="11"/> <resources/> <connections/> </ui>
------解决方案--------------------
外面再套一层布局不行么?