QdbtTabular is a multi-column/multi-select table widget based on
The QdbtTabular class represents a table widget
which looks similar to the `detailed list' of Windows 95.
For more information on how to use the widget as a programmer see the
Note: This project being moved over to
Please look there for the latest updates.
Changed made by Sven Meyer for version 0.40:
- Extended selection modes
- Hide Column implemented (works with keyboardfocus traversal
- Cell Color Scheme, including common bg color for not editable
- Disable/Enable works
- Style Support
- According to the current mode of the tabular the selection
may be cleared or set
- findRow() fixed (was broken when introducing cascaded headers)
- Focus-Movement is not controlled by the Tabular-Widget
externally, so that it can be customized (e.g. locking
the keyboard focus to a row of the widget temporarily)
- PageUp and PageDown are treated by the table-view now.
Clicking a cell/Dragging now sets the keyboard-focus as well
- Editing is now being checked by a validator. The pattern for
this editor is set for an entire column.
- Programmer-API a little more orthogonolized
- Update-Behaviour tidied up, so that autoUpdate is honoured
throughout the tabular.
- Extension of TMAKE-Frojects for easier Windows-compilation
- To enable a 'clean' focus-traversal within the cells. each
editing session emits 'cellEditDone()' now.
- ESC may be used to cancel the editing of the current cell,
stopEdit() may be used to interrupt cell editing from
within the programm.
- support for column-exchange and 'named' columns
- cascaded headers may be resized (same now as normal headers)
- table and header(s) got out of sync when deleting columns
or using the middle mousebutton to autosize to header-element
which caused the table to shift and the lower scrollbar to
Changed in version 0.33:
Changed in version 0.32:
- A table cell may now addionally have a border
- Headers support now multiline texts, cascading headers (with grouping) added
- The style is customizable, so that it can looks like QListView
- The editCell()-method now accepts a new parameter which traverses the
keyboard focus to the position being edited. Furthermore it may be called
in response to the signal cellEdited() emitted by the tabular widget.
- Sven Meyer has provided me with the necessary changes to make the
widget work with Qt-2.00. For this version Qt-2.00 is required!
The previous version of the widget that is still based on Qt-1.xx
is also available:
Changed in version 0.31:
Changed in version 0.3:
- Fixed pixmap inversion bug for non truecolor visuals.
- setPalette now works correctly (see example4).
- fixed an update problem that appears when using Qt 1.32
Changed in version 0.22:
- Added keyboard support.
- Fixed some problems with insert and removal of columns.
- Qt 1.31 is now required.
Changed in version 0.21:
- Fixed a bug in the resizing of the table.
- Changed the implementation of QdbtCellMatrix; adding rows is now faster.
- Moved the section widget to the public interface.
The table header can now be modified by inheriting the
- Improved the documentation,
it is now automatically
generated using doxygen.
New features in version 0.2:
- Changed the QdbtLineEdit class. It now no longer is a modified copy of
Troll Tech's sources (which was illegal, so if you have this version,
please delete it), but a small class derived from QLineEdit.
Qt 1.30 is now required.
Features already in version 0.1:
- Cells can be edited; whether or not a cell may be edited
can be controlled by the application programmer.
- Cells can be selected one row at a time, or individually.
selection can also be disabled.
- A tooltip appears if the mouse is resting on a cell whose
text is not completely visible. The tooltip will show the
- Pixmaps of a cell can now be above/below/to the left/to the
right of the text.
- A lot of new member functions allowing to change the
behavior of the table and its cells.
- 3 new examples demonstrating the new features.
Qt look-a-like on-line documentation.
- Now uses tmake
to generate the Makefiles.
- Tested with Qt version 1.30.
Each cell in the table is a QdbtTabCell class, which has the
following features. Each cell can
- Multiple rows can be selected one by one, or by click-and-drag.
- The table has a heading; a section for each column.
Each section is separated by a divider.
- Columns can be resized by click-and-dragging the divider;
a slide bar is visible while dragging.
- Clicking the middle mouse button on a divider will
resize the column, so that all cells in the column fit.
- Clicking on a section generates a signal.
- Automatic appearing/disappearing scrollbars.
- The table can be resized, empty rows and columns can be inserted.
- The font of the header and the cells can be set separately
- Texts that do not fit in a cell are truncated using dots (...)
- Fast cell access (Internally a 2D array of pointers to cells is used).
- Efficient and automatic widget updates.
- 100 % based on Qt components (QWidget/QFrame/QButton/QTableView).
- have it's own foreground/background color
- have an optional text
- have an optional pixmap
- be left/right/center aligned
Last updated on 2000/03/21.
You are visitor number 15 since 26 october 1997.If you want you can go back to my homepage