Re-introducing QicsTable

Jeff Tranter

Jeff Tranter


Jeff Tranter is a Qt Consulting Manager at ICS. Jeff oversees the architectural and high-level design of software systems for clients. Jeff’s leadership organizes global teams of developers on desktop and embedded applications.

By Jeff Tranter | Wednesday, July 16, 2014

QicsTable is a full-featured, high-performance table widget suited for use in industrial-strength applications. It incorporates a model-view-controller architecture, so that multiple table widgets can display the same data. The QicsTable widget has extensive printing capabilities, including the ability to print the table with different visual characteristics than the on-screen table display.

ICS originally developed QicsTable a number of years ago after having developed similar table widget functionality for a number of our consulting customers. Rather than reinventing the wheel again, we developed a more general-purpose table widget that met the current and anticipated needs of our customers.

It has been used on several consulting projects and was offered for sale on its own under a commercial license. A version with slightly reduced functionality was also offered under a GPL license, similar to the way that Qt was offered at the time.

Originally written for Qt version 3, it was later ported to Qt 4, and most recently, Qt 5.

In February 2014, the QicsTable source code was made publicly available under similar licensing conditions to Qt. It is currently offered under the following licenses:

  • GNU General Public License version 3
  • GNU Lesser General Public License version 2.1
  • ICS Commercial License Agreement For Qt Based Products
  • ICS Evaluation License Agreement For Qt Based Products

Most significant is the release under the LGPL, which allows for development of commercial applications.

This new QicsTable version 3.0 supports Qt 5, while remaining backward compatible with Qt 4. It requires Qt version 4.7.0 or later.

The source code is publicly available here(1). There is a mailing list(2) and associated Google Group for developers and users of QicsTable to communicate.

Examples

QicsTable comes with many examples and demo applications. Some screen shots are shown below. It integrates with KDAB's charting package(3). It also has bindings(4) so that it can be used from the Python programming language.

Figure 1: An Advanced Spreadsheet Example

 

Figure 2: A Tetris Game Implemented Using QicsTable

 

Figure 3: A Minesweeper-like Game Implemented Using QicsTable

Figure 4: Tree View Example

 

Figure 5: Font Character Map Example

 

Figure 6: Inner Table Example

Conclusions

If you have a need for an advanced table widget, take a look at QicsTable. It may just fit your needs.

References

  1. Source code for QicsTable, accessed June 19, 2014, gitorious.org/qicstable
  2. Google group for QicsTable developers, accessed June 19, 2014, groups.google.com/a/ics.com/d/forum/qicstable
  3. KDAB KD Chart, accessed June 19, 2014, www.kdab.com/kdab-products/kd-chart
  4. Riverbank Computing PyQt, accessed June 19, 2014, www.riverbankcomputing.co.uk/software/pyqt/intro


Comments

Comment: