Tutorial by Examples

/*! * \class MainMenuListView * \brief The MainMenuListView class is a QListView with a header displayed * on top. */ class MainMenuListView : public QListView { Q_OBJECT /*! * \class Header * \brief The header class is a nested class used to display the hea...
QSize MainMenuListView::Header::sizeHint() const { // fontmetrics() allows to get the default font size for the widget. return QSize(menu->headerAreaWidth(), fontMetrics().height()); } void MainMenuListView::Header::paintEvent(QPaintEvent* event) { // Catches the paint event ...
class MainMenuListView; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget* parent = 0); ~MainWindow(); private: MainMenuListView* menuA; MainMenuListView* menuB; MainMenuListView* menuC; };
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QWidget* w = new QWidget(this); QHBoxLayout* hbox = new QHBoxLayout(); QVBoxLayout* vBox = new QVBoxLayout(); menuA = new MainMenuListView(w, "Images"); menuB = new MainMenuListView(w, "Video...
Here is a sample output: As you can seen above, it can be useful for creating stacked menus. Note that this sample is trivial. The two widgets have the same size constraints.

Page 1 of 1