• 17145阅读
  • 10回复

qt4里如何写代码调整控件的位置呢? [复制链接]

上一主题 下一主题
离线jinyu
 
只看楼主 倒序阅读 楼主  发表于: 2008-10-08
— 本帖被 XChinux 从 论坛公告栏 移动到本区(2008-10-08) —
例如我的对话框窗口里有一个编辑框,一个按钮,我要让它们居中显示的话,该用到哪些成员函数呢?高手指点
[ 此贴被XChinux在2008-10-10 10:35重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2008-10-08
setGeometry()或者move()
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线water_wf

只看该作者 2楼 发表于: 2008-10-08
要是我还是用designer方便些,手工code虽然灵活,可是麻烦
离线jinyu
只看该作者 3楼 发表于: 2008-10-09
Submit_Button->setGeometry(100,300,50,30);
可以我用这个怎么没效果呢?
离线jinyu
只看该作者 4楼 发表于: 2008-10-09
    QVBoxLayout    *Main_Layout=new QVBoxLayout();
    Main_Layout->addWidget(TitleID_Lable);
    Main_Layout->addWidget(Code_Edit);
    Main_Layout->addWidget(Submit_Button);
    Main_Layout->addWidget(Load_Button);
    Submit_Button->setGeometry(100,300,50,30);
Submit_Button位置和我用setGeometry()前是一样的阿
离线water_wf

只看该作者 5楼 发表于: 2008-10-10
用designer,手工的一拉申位置就变化
离线vlolv

只看该作者 6楼 发表于: 2008-10-10
引用第4楼jinyu于2008-10-09 22:19发表的  :
    QVBoxLayout    *Main_Layout=new QVBoxLayout();
    Main_Layout->addWidget(TitleID_Lable);
    Main_Layout->addWidget(Code_Edit);
    Main_Layout->addWidget(Submit_Button);
    Main_Layout->addWidget(Load_Button);
.......

你貌似要用QT自己的Layout。。。。
如果想自己用代码调整的话就不要用Qt的Layout。
否则,你想想,你前面都说了让Qt的Layout来管理布局,后面又写代码人为调整布局,Qt只会人为你在捣乱。你setGeometry完了,Layout立马又自动调整了。当然没效果了~~~~
离线jwvwv
只看该作者 7楼 发表于: 2008-11-05
加一个QSpacerItem在layout里面就好了:
verticalSpacer1 = new QSpacerItem(158, 358, QSizePolicy::Minimum, QSizePolicy::Expanding);
Layout->addItem(verticalSpacer1);
调整这个间隔器的尺寸就行了
或者用Layout ->setContentsMargins(0, 0, 0, 0);来调整layout的位置
离线priestmoon

只看该作者 8楼 发表于: 2008-11-05
mark
离线vrcats
只看该作者 9楼 发表于: 2008-11-05
    QVBoxLayout    *Main_Layout=new QVBoxLayout();
    Main_Layout->addWidget(TitleID_Lable, 0, Qt::AlignHCenter);
    Main_Layout->addWidget(Code_Edit, 0, Qt::AlignHCenter);
    Main_Layout->addWidget(Submit_Button, 0, Qt::AlignHCenter);
    Main_Layout->addWidget(Load_Button, 0, Qt::AlignHCenter);
//    Submit_Button->setGeometry(100,300,50,30);
离线jinyu
只看该作者 10楼 发表于: 2008-11-29
jwvwv答的非常好,理解正确,谢谢
快速回复
限100 字节
 
上一个 下一个