Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
比较简单的办法如下:
QWidget *spacer = new QWidget(this);  
spacer
->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);   
toolBar
->addWidget(spacer); 
但是如何右对齐的是一个自定义的复合控件,则无能为力,比如一个编辑框和一个搜索按钮
这种情况下可以使用QLayout和QSpacerItem即可完成,如下:   
QWidget* searchWidget = new QWidget(this); 
mToolbar
->addWidget(searchWidget);
QHBoxLayout
* searchLayout = new QHBoxLayout(searchWidget);
QSpacerItem
* spacer = new QSpacerItem(40,20,QSizePolicy::Expanding,QSizePolicy::Minimum);
searchLayout
->addItem(spacer);
mSearchButtonWidget 
= new QPushButton(tr("搜索"),searchWidget);
mSearchEditWidget 
= new QLineEdit(searchWidget);
mSearchEditWidget
->setMaximumWidth(120);
searchLayout
->addWidget(mSearchEditWidget);
searchLayout
->addWidget(mSearchButtonWidget);
原因是QToolBar本身就是一个QWidget
posted on 2014-03-23 10:48 ccsdu2009 阅读(2600) 评论(0)  编辑 收藏 引用 所属分类: QT编程

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理