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

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();
}

转贴自:http://www.cppblog.com/lai3d/archive/2007/07/21/28476.html

原文地址:https://www.cnblogs.com/dabiao/p/1821121.html