Home · Overviews · Examples 


Qt Tutorial 6 - Building Blocks Galore!



This example shows how to encapsulate two widgets into a new component and how easy it is to use many widgets. For the first time, we use a custom widget as a child widget. Missing snippet: tutorials/tutorial/t6/main.cpp.
Missing snippet: tutorials/tutorial/t6/main.cpp.
Missing snippet: tutorials/tutorial/t6/main.cpp.
Missing snippet: tutorials/tutorial/t6/main.cpp.
Missing snippet: tutorials/tutorial/t6/main.cpp.

Line by Line Walkthrough

Missing snippet: tutorials/tutorial/t6/main.cpp. The LCDRange widget is a widget without any API. It just has a constructor. This sort of widget is not very useful, so we'll add some API later. Missing snippet: tutorials/tutorial/t6/main.cpp. This is lifted straight from the MyWidget constructor in Chapter 5. The only differences are that the Quit button is left out and the class is renamed. Missing snippet: tutorials/tutorial/t6/main.cpp. MyWidget, too, contains no API except a constructor. Missing snippet: tutorials/tutorial/t6/main.cpp. The push button that used to be in what is now LCDRange has been separated so that we can have one Quit button and many LCDRange objects. Missing snippet: tutorials/tutorial/t6/main.cpp. We create a
QWidget with a QGridLayout that will contain three columns.

The QGridLayout automatically arranges its widgets in rows and columns; you can specify the row and column numbers when adding widgets to the layout, and QGridLayout will fit them into the grid. Missing snippet: tutorials/tutorial/t6/main.cpp. Missing snippet: tutorials/tutorial/t6/main.cpp. Missing snippet: tutorials/tutorial/t6/main.cpp. Missing snippet: tutorials/tutorial/t6/main.cpp. Missing snippet: tutorials/tutorial/t6/main.cpp. We create nine LCDRange widgets, all of which are children of the grid object, and we arrange them in three rows and three columns. Missing snippet: tutorials/tutorial/t6/main.cpp. Finally, we add the Quit button and the grid layout containing LCDRange widgets, to the main layout. The QWidget::addLayout() function is similar to the QWidget::addWidget() function, making the given layout a child of the main layout.

That's all.

Running the Application

This program shows how easy it is to use many widgets at a time. Each one behaves like the slider and LCD number in the previous chapter. Again, the difference lies in the implementation.

Exercises

Initialize each slider with a different/random value on startup.


Copyright © 2008 Trolltech Trademarks
Qt Jambi 4.4.0_01