Qt教程 第三章:家庭价值

这个例子演示了如何创建一个父窗口部件和子窗口部件。

我们将会保持这个程序的简单性,并且只使用一个单一的父窗口部件和一个独立的子窗口部件。

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

一行一行地解说

    #include <qvbox.h>

我们添加了一个头文件qvbox.h用来获得我们要使用的布局类。

        QVBox box;

这里我们简单地创建了一个垂直的盒子容器。QVBox把它的子窗口部件排成一个垂直的行,一个在其它的上面,根据每一个子窗口部件的QWidget::sizePolicy()来安排空间。

        box.resize( 200, 120 );

我们它的高设置为120像素,宽为200像素。

        QPushButton quit( "Quit", &box );

子窗口部件产生了。

QPushButton通过一个文本(“text”)和一个父窗口部件(box)生成的。子窗口部件总是放在它的父窗口部件的最顶端。当它被显示的时候,它被父窗口部件的边界挡住了一部分。

父窗口部件,QVBox,自动地把这个子窗口部件添加到它的盒子中央。因为没有其它的东西被添加了,这个按钮就获得了父窗口部件的所有空间。

        box.show();

当父窗口部件被显示的时候,它会调用所有子窗口部件的显示函数(除非在这些子窗口部件中你已经明确地使用QWidget::hide())。

行为

这个按钮不再充满整个窗口部件。相反,它获得了一个“自然的”大小。这是因为现在的这个新的顶层窗口,使用了按钮的大小提示和大小变化策略来设置这个按钮的大小和位置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值