在QT4中使用类似QVBox类似功能

本文介绍如何在QT4中使用QVBoxLayout来替代已废弃的QVBox类,通过示例展示了如何创建垂直布局的部件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QVBox在Qt 3.0的是这样子的:

 

    
/* ***************************************************************
**
** Qt教程一 - 3
**
***************************************************************
*/

#include
< qapplication.h >
#include
< qpushbutton.h >
#include
< qfont.h >
#include
< qvbox.h >

int main( int argc, char ** argv )
{
QApplication a( argc, argv );

QVBox box;
box.resize(
200 , 120 );

QPushButton quit(
" Quit " , & box );
quit.setFont( QFont(
" Times " , 18 , QFont::Bold ) );

QObject::connect(
& quit, SIGNAL(clicked()), & a, SLOT(quit()) );

a.setMainWidget(
& box );
box.show();

return a.exec();
}

 

在4.3中已经没有QVBox这个类了:

 

-------------------------------------------------------------------------------------------------------------------------------------------------------

QVBox 

The QVBox class is now only available as Q3VBox in Qt 4. You can achieve the same result as QVBox by creating a QWidget with a vertical layout:

For example, if you have code like:

 

   
QVBox * vbox = new QVBox;
QPushButton
* child1 = new QPushButton(vbox);
QPushButton
* child2 = new QPushButton(vbox);

 

you can rewrite it as:

 

 

 

    
QWidget * vbox = new QWidget;
QPushButton
* child1 = new QPushButton;
QPushButton
* child2 = new QPushButton;
QVBoxLayout
* layout = new QVBoxLayout;
layout
-> addWidget(child1);
layout
-> addWidget(child2);
vbox
-> setLayout(layout);

 

Note that child widgets are not automatically placed into the widget's layout; you will need to manually add each widget to the  QVBoxLayout.

 

 

-------------------------------------------------------------------------------------------------------------------------------------------------------

我写滴...

 

    
/* ***************************************************************
**
** Qt教程一 - 3
**
***************************************************************
*/

#include
< qapplication.h >
#include
< qpushbutton.h >
#include
< qfont.h >
#include
< qboxlayout.h >

int main( int argc, char ** argv )
{
QApplication a( argc, argv );

QWidget window;
window.resize(
200 , 120 );

QVBoxLayout layout;
QPushButton quit(
" Quit " , & window );
quit.setFont( QFont(
" Times " , 18 , QFont::Bold ) );
QObject::connect(
& quit, SIGNAL(clicked()), & a, SLOT(quit()) );

layout.addWidget(
& quit);

window.setLayout(
& layout);
window.show();

return a.exec();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值