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/listbox-example.html | 325 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 325 insertions(+) create mode 100644 doc/html/listbox-example.html (limited to 'doc/html/listbox-example.html') diff --git a/doc/html/listbox-example.html b/doc/html/listbox-example.html new file mode 100644 index 0000000..ebf015f --- /dev/null +++ b/doc/html/listbox-example.html @@ -0,0 +1,325 @@ + + + + + +Listbox Example + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

Listbox Example

+ + +

+This example shows how to use the different modes (single columns, multiple columns, +fixed number of rows, etc.) of QListBox. +


+

Header file: +

/****************************************************************************
+** $Id: qt/listbox.h   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for Qt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef LISTBOX_H
+#define LISTBOX_H
+
+
+class QSpinBox;
+class QListBox;
+class QButtonGroup;
+
+#include <qwidget.h>
+
+
+class ListBoxDemo: public QWidget
+{
+    Q_OBJECT
+public:
+    ListBoxDemo();
+    ~ListBoxDemo();
+
+private slots:
+    void setNumRows();
+    void setNumCols();
+    void setRowsByHeight();
+    void setColsByWidth();
+    void setVariableWidth( bool );
+    void setVariableHeight( bool );
+    void setMultiSelection( bool );
+    void sortAscending();
+    void sortDescending();
+
+private:
+    QListBox * l;
+    QSpinBox * columns;
+    QSpinBox * rows;
+    QButtonGroup * bg;
+};
+
+
+#endif
+
+ +


+

Implementation: +

/****************************************************************************
+** $Id: qt/listbox.cpp   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for Qt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "listbox.h"
+
+#include <qlabel.h>
+#include <qradiobutton.h>
+#include <qcheckbox.h>
+#include <qspinbox.h>
+#include <qlistbox.h>
+#include <qbuttongroup.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+
+
+ListBoxDemo::ListBoxDemo()
+    : QWidget( 0, 0 )
+{
+    QGridLayout * g = new QGridLayout( this, 2, 2, 6 );
+
+    g->addWidget( new QLabel( "<b>Configuration:</b>", this ), 0, 0 );
+    g->addWidget( new QLabel( "<b>Result:</b>", this ), 0, 1 );
+
+    l = new QListBox( this );
+    g->addWidget( l, 1, 1 );
+    l->setFocusPolicy( QWidget::StrongFocus );
+
+    QVBoxLayout * v = new QVBoxLayout;
+    g->addLayout( v, 1, 0 );
+
+    QRadioButton * b;
+    bg = new QButtonGroup( 0 );
+
+    b = new QRadioButton( "Fixed number of columns,\n"
+                          "as many rows as needed.",
+                          this );
+    bg->insert( b );
+    v->addWidget( b );
+    b->setChecked( TRUE );
+    connect( b, SIGNAL(clicked()), this, SLOT(setNumCols()) );
+    QHBoxLayout * h = new QHBoxLayout;
+    v->addLayout( h );
+    h->addSpacing( 30 );
+    h->addSpacing( 100 );
+    h->addWidget( new QLabel( "Columns:", this ) );
+    columns = new QSpinBox( this );
+    h->addWidget( columns );
+
+    v->addSpacing( 12 );
+
+    b = new QRadioButton( "As many columns as fit on-screen,\n"
+                          "as many rows as needed.",
+                          this );
+    bg->insert( b );
+    v->addWidget( b );
+    connect( b, SIGNAL(clicked()), this, SLOT(setColsByWidth()) );
+
+    v->addSpacing( 12 );
+
+    b = new QRadioButton( "Fixed number of rows,\n"
+                          "as many columns as needed.",
+                          this );
+    bg->insert( b );
+    v->addWidget( b );
+    connect( b, SIGNAL(clicked()), this, SLOT(setNumRows()) );
+    h = new QHBoxLayout;
+    v->addLayout( h );
+    h->addSpacing( 30 );
+    h->addSpacing( 100 );
+    h->addWidget( new QLabel( "Rows:", this ) );
+    rows = new QSpinBox( this );
+    rows->setEnabled( FALSE );
+    h->addWidget( rows );
+
+    v->addSpacing( 12 );
+
+    b = new QRadioButton( "As many rows as fit on-screen,\n"
+                          "as many columns as needed.",
+                          this );
+    bg->insert( b );
+    v->addWidget( b );
+    connect( b, SIGNAL(clicked()), this, SLOT(setRowsByHeight()) );
+
+    v->addSpacing( 12 );
+
+    QCheckBox * cb = new QCheckBox( "Variable-height rows", this );
+    cb->setChecked( TRUE );
+    connect( cb, SIGNAL(toggled(bool)), this, SLOT(setVariableHeight(bool)) );
+    v->addWidget( cb );
+    v->addSpacing( 6 );
+
+    cb = new QCheckBox( "Variable-width columns", this );
+    connect( cb, SIGNAL(toggled(bool)), this, SLOT(setVariableWidth(bool)) );
+    v->addWidget( cb );
+
+    cb = new QCheckBox( "Extended-Selection", this );
+    connect( cb, SIGNAL(toggled(bool)), this, SLOT(setMultiSelection(bool)) );
+    v->addWidget( cb );
+
+    QPushButton *pb = new QPushButton( "Sort ascending", this );
+    connect( pb, SIGNAL( clicked() ), this, SLOT( sortAscending() ) );
+    v->addWidget( pb );
+
+    pb = new QPushButton( "Sort descending", this );
+    connect( pb, SIGNAL( clicked() ), this, SLOT( sortDescending() ) );
+    v->addWidget( pb );
+
+    v->addStretch( 100 );
+
+    int i = 0;
+    while( ++i <= 2560 )
+        l->insertItem( QString::fromLatin1( "Item " ) + QString::number( i ),
+                       i );
+    columns->setRange( 1, 256 );
+    columns->setValue( 1 );
+    rows->setRange( 1, 256 );
+    rows->setValue( 256 );
+
+    connect( columns, SIGNAL(valueChanged(int)), this, SLOT(setNumCols()) );
+    connect( rows, SIGNAL(valueChanged(int)), this, SLOT(setNumRows()) );
+}
+
+
+ListBoxDemo::~ListBoxDemo()
+{
+    delete bg;
+}
+
+
+void ListBoxDemo::setNumRows()
+{
+    columns->setEnabled( FALSE );
+    rows->setEnabled( TRUE );
+    l->setRowMode( rows->value() );
+}
+
+
+void ListBoxDemo::setNumCols()
+{
+    columns->setEnabled( TRUE );
+    rows->setEnabled( FALSE );
+    l->setColumnMode( columns->value() );
+}
+
+
+void ListBoxDemo::setRowsByHeight()
+{
+    columns->setEnabled( FALSE );
+    rows->setEnabled( FALSE );
+    l->setRowMode( QListBox::FitToHeight );
+}
+
+
+void ListBoxDemo::setColsByWidth()
+{
+    columns->setEnabled( FALSE );
+    rows->setEnabled( FALSE );
+    l->setColumnMode( QListBox::FitToWidth );
+}
+
+
+void ListBoxDemo::setVariableWidth( bool b )
+{
+    l->setVariableWidth( b );
+}
+
+
+void ListBoxDemo::setVariableHeight( bool b )
+{
+    l->setVariableHeight( b );
+}
+
+void ListBoxDemo::setMultiSelection( bool b )
+{
+    l->clearSelection();
+    l->setSelectionMode( b ? QListBox::Extended : QListBox::Single );
+}
+
+void ListBoxDemo::sortAscending()
+{
+    l->sort( TRUE );
+}
+
+void ListBoxDemo::sortDescending()
+{
+    l->sort( FALSE );
+}
+
+ +


+

Main: +

/****************************************************************************
+** $Id: qt/main.cpp   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for Qt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "listbox.h"
+#include <qapplication.h>
+
+int main( int argc, char **argv )
+{
+    QApplication a( argc, argv );
+
+    ListBoxDemo t;
+    t.setCaption( "Qt Example - Listbox" );
+    a.setMainWidget( &t );
+    t.show();
+
+    return a.exec();
+}
+
+ +

See also Examples. + + +


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