From bd0f3345a938b35ce6a12f6150373b0955b8dd12 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 10 Jul 2011 15:24:15 -0500 Subject: Add Qt3 development HEAD version --- doc/html/tutorial1-03.html | 122 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 doc/html/tutorial1-03.html (limited to 'doc/html/tutorial1-03.html') diff --git a/doc/html/tutorial1-03.html b/doc/html/tutorial1-03.html new file mode 100644 index 0000000..cac92da --- /dev/null +++ b/doc/html/tutorial1-03.html @@ -0,0 +1,122 @@ + + + + + +Qt Tutorial - Chapter 3: Family Values + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

Qt Tutorial - Chapter 3: Family Values

+ + +

Screenshot of tutorial three
+

This example shows how to create parent and child widgets. +

We'll keep it simple and use just a single parent and a lone child. +

/****************************************************************
+**
+** Qt tutorial 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();
+}
+
+ + + +

Line-by-line Walkthrough +

+

    #include <qvbox.h>
+
+

We add an include of qvbox.h to get the layout class we'll use. +

        QVBox box;
+
+

Here we simply create a vertical box container. The QVBox arranges +its child widgets in a vertical row, one above the other, handing out +space according to each child's QWidget::sizePolicy(). +

        box.resize( 200, 120 );
+
+

We set its width to 200 pixels and the height to 120 pixels. +

        QPushButton quit( "Quit", &box );
+
+

A child is born. +

This QPushButton is created with both a text ("Quit") and a parent +(box). A child widget is always on top of its parent. When +displayed, it is clipped by its parent's bounds. +

The parent widget, the QVBox, automatically adds the child centered in +its box. Because nothing else is added, the button gets all the space +the parent has. +

        box.show();
+
+

When a parent widget is shown, it will call show for all its children +(except those on which you have done an explicit QWidget::hide()). +

Behavior +

+

The button no longer fills the entire widget. Instead, it gets a +"natural" size. This is because there is now a new top-level widget, +which uses the button's size hint and size change policy to set the +button's size and position. (See QWidget::sizeHint() and QWidget::setSizePolicy() for more information about these functions.) +

(See Compiling for how to create a +makefile and build the application.) +

Exercises +

+

Try resizing the window. How does the button change? What is the +button's size-change policy? What happens to the button's height if +you run the program with a bigger font? What happens if you try to +make the window really small? +

You're now ready for Chapter 4. +

[Previous tutorial] +[Next tutorial] +[Main tutorial page] +

+ +


+ +
Copyright © 2007 +TrolltechTrademarks +
Qt 3.3.8
+
+ -- cgit v1.2.3