• 7166阅读
  • 10回复

[提问]关于布局的问题 [复制链接]

上一主题 下一主题
离线vitty1984
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-09
我现在用designer在窗口上画了一些界面,代码如下

    m_glayout = new QGridLayout;
    //m_glayout->setObjectName(QString::fromUtf8("m_glayout"));
    m_hlayout = new QHBoxLayout;
    m_hlayout->addWidget(config_treeWidget); //config_treeWidget是一个QTreeWidget控件
    m_hlayout->addWidget( class_frame); //class_frame是QFrame控件,里面是一些我需要的控件,在designer里面画的
    class_frame->show();
    prop_frame->hide();    //prop_frame是QFrame控件,里面是一些我需要的控件,在designer里面画的

    left_spacer = new QSpacerItem( 103, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
    middle_spacer = new QSpacerItem( 104, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
    right_spacer = new QSpacerItem( 103, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
        
    //将按钮按照水平方向排列
    m_buttonlayout = new QHBoxLayout;
    m_buttonlayout->addSpacerItem (left_spacer);
    m_buttonlayout->addWidget(save_Btn);
    m_buttonlayout->addSpacerItem(middle_spacer);
    m_buttonlayout->addWidget(read_Btn);
    m_buttonlayout->addSpacerItem(middle_spacer);
    m_buttonlayout->addWidget(quit_Btn);
    m_buttonlayout->addSpacerItem(right_spacer);
    
    m_vlayout = new QVBoxLayout(0);
    m_vlayout->addLayout(m_hlayout);
    m_vlayout->addLayout(m_buttonlayout);
    
    m_vlayout->addLayout(m_glayout);
    //m_glayout->addLayout( m_vlayout, 0,1 );
    setLayout(m_vlayout);

    整个意思就是界面起来的的时候,只显示config_treeWidget,class_frame和三个按钮,但是我这样写的话,界面出来的话,这些控件没有将窗口填满,只是prop_frame控件隐藏了。
离线redheli
只看该作者 1楼 发表于: 2011-06-09
Hi,

   你是想改变widget的大小,when 窗口大小改变时?

   其实不建议用designer,自己写
离线vitty1984

只看该作者 2楼 发表于: 2011-06-09
是的啊
离线vitty1984

只看该作者 3楼 发表于: 2011-06-09
离线vitty1984

只看该作者 4楼 发表于: 2011-06-09
空白的一块是一个QFrame控件,里面有一些控件,备我隐藏掉了
离线vitty1984

只看该作者 5楼 发表于: 2011-06-09
有人知道怎么回事吗
离线jdwx

只看该作者 6楼 发表于: 2011-06-09
参考QT可以改变大小的对话框。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线vitty1984

只看该作者 7楼 发表于: 2011-06-10
离线jdwx

只看该作者 8楼 发表于: 2011-06-10
其实是你没说的很明白,界面原来是什么样,后来变成什么样?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线redheli
只看该作者 9楼 发表于: 2011-06-10
Hi,

    Qtdemo 有个例子请参考下,名字 Basic Layouts

enjoy QT
离线hbsdyang
只看该作者 10楼 发表于: 2011-06-13
可以选中主对话框,然后右键,选择布局,栅格布局,控件就会随对话框大小改变了
快速回复
限100 字节
 
上一个 下一个