首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt 怎的让ui子窗口随程序中主窗口的大小一起变化?

2013-10-17 
Qt 怎样让ui子窗口随程序中主窗口的大小一起变化?急!!!在主窗口中设置一个horizontalLayout,把多个按钮控

Qt 怎样让ui子窗口随程序中主窗口的大小一起变化?急!!!
在主窗口中设置一个horizontalLayout,把多个按钮控件放在这个horizontalLayout中,
然后写了个resizeEvent(QResizeEvent *event),在这个函数里添加了
ui->horizontalLayout->setGeometry(QRect(20,this->height()-100,this->width()-20,80));
可是这样horizontalLayout和里面的按钮控件还是不随着主窗口的大小而变化。
我想实现的功能是,当LCD屏的分辨率改变时,主窗口放大,主窗口中的horizontalLayout也会随主窗口间距变大。
有哪位知道这方面的,帮我下,不身感激啊!!!
[解决办法]
我刚才已经说过了,主窗口还需要一个布局,由它来决定你的horizontalLayout的大小。

我不知道你是在代码中写的,还是在界面设计器里做的,索性给你提出一个UI文件来,你拷贝过去看看就知道了。


<?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>


用这个替换一下你的ui文件就行
[解决办法]
外面再套一层布局不行么?

热点排行