You are here

Providing Context-Sensitive Help

Articles from Qt Quarterly - Mon, 15/12/2003 - 12:00am
Qt offers many ways of providing online help. These include tool tips, "What's This?" messages, and access to dedicated help progams like Qt Assistant. Sometimes we want to provide more help on a particular widget than can comfortably fit in a tool tip or "What's This?" message, and we want to be able to take the user to the relevant help without forcing them to search or scroll for it. The solution is to provide context-sensitive help for the current widget.

Laying out MDI Children

Articles from Qt Quarterly - Mon, 15/12/2003 - 12:00am
Qt provides support for MDI (Multiple Document Interface) through its QWorkspace widget. The workspace provides two strategies for laying out its child widgets. In this article we will show how easy it is to add new layout strategies to QWorkspace.

Internationalization Q & A

Articles from Qt Quarterly - Mon, 15/12/2003 - 12:00am
This article provides answers to some frequently asked questions about internationalizing Qt applications. It covers such topics as distributing translation files, reverse translations, and dynamic language switching.

Fields on Forms

Articles from Qt Quarterly - Sun, 14/12/2003 - 10:00pm
Forms that have lots of line edits often use a grid layout with labels in the first column and line edits in the second column. This looks attractive, except that fields that can only accept a short amount of text, say one or two characters, are given the same width as fields that can take a long line of text. This deprives users of the visual cue that proportional widths would give. This article provides a simple solution.

Providing Context-Sensitive Help

Articles from Qt Quarterly - Sun, 14/12/2003 - 10:00pm
Qt offers many ways of providing online help. These include tool tips, "What's This?" messages, and access to dedicated help progams like Qt Assistant. Sometimes we want to provide more help on a particular widget than can comfortably fit in a tool tip or "What's This?" message, and we want to be able to take the user to the relevant help without forcing them to search or scroll for it. The solution is to provide context-sensitive help for the current widget.

Signal Multiplexing

Articles from Qt Quarterly - Sun, 14/12/2003 - 10:00pm
Applications that allow the user to open multiple documents, perhaps of different types, must ensure that the user interface is appropriate for the current document, with the right menu options and toolbar buttons enabled or disabled appropriately. For large applications with many actions, it is easy to forget to update all the relevant actions when the user changes documents. This article presents an abstraction that can solve the problem: a signal multiplexer.

Internationalization Q & A

Articles from Qt Quarterly - Sun, 14/12/2003 - 10:00pm
This article provides answers to some frequently asked questions about internationalizing Qt applications. It covers such topics as distributing translation files, reverse translations, and dynamic language switching.

Fancy List Items

Articles from Qt Quarterly - Sun, 14/12/2003 - 10:00pm
Qt's list view class can provide list and tree views and is capable of handling large amounts of data. But out of the box it can only have one background color and one font for all of its items. The same applies to Qt's list box widget. In this article we present a a list box item subclass and a list view item subclass that can have custom fonts and background colors.

Laying out MDI Children

Articles from Qt Quarterly - Sun, 14/12/2003 - 10:00pm
Qt provides support for MDI (Multiple Document Interface) through its QWorkspace widget. The workspace provides two strategies for laying out its child widgets. In this article we will show how easy it is to add new layout strategies to QWorkspace.

A Model/View Table for Large Datasets

Articles from Qt Quarterly - Wed, 15/10/2003 - 12:00am
This article shows how to handle large datasets with QTable using a model/view approach, and without using QTableItems. Model/view means that only the data that the user can see needs to be retrieved and held in memory. This approach also makes it easy to show the same dataset in multiple tables without duplicating any data.

Customizing for Completion

Articles from Qt Quarterly - Wed, 15/10/2003 - 12:00am
QTextEdit can be used to provide a simple text editor within an application. QTextEdit provides a lot of functionality out of the box, but one feature it doesn't provide is automatic completion. In this article, we present a QTextEdit subclass that provides completion and that demonstrates how to extend and enhance QTextEdit's functionality.

Mini-Quiz Answers

Articles from Qt Quarterly - Wed, 15/10/2003 - 12:00am
In Issue 7 we asked for the longest gramatically correct English sentence that consists entirely of Qt 3.2.0 function names, e.g. ``take back all animated green children'' (6 words).

Implementing a Popup Calendar

Articles from Qt Quarterly - Wed, 15/10/2003 - 12:00am
We often need to constrain user input for particular widgets. Qt provides many ways of doing this, but for some complex data types we may want to provide our own "value picker" that lets the user pop up a little dialog through which they can choose a valid value. In this article we present a small calendar popup that demonstrates the necessary techniques.

What's New in Qt 3.2

Articles from Qt Quarterly - Wed, 15/10/2003 - 12:00am
Qt 3.2 is now available. This new version introduces many new classes and some features that you might want to use right away in your Qt applications. We will review many of these in this article. For a complete list of what has changed, see Changes 3.2.0.

A Model/View Table for Large Datasets

Articles from Qt Quarterly - Tue, 14/10/2003 - 9:00pm
This article shows how to handle large datasets with QTable using a model/view approach, and without using QTableItems. Model/view means that only the data that the user can see needs to be retrieved and held in memory. This approach also makes it easy to show the same dataset in multiple tables without duplicating any data.

Customizing for Completion

Articles from Qt Quarterly - Tue, 14/10/2003 - 9:00pm
QTextEdit can be used to provide a simple text editor within an application. QTextEdit provides a lot of functionality out of the box, but one feature it doesn't provide is automatic completion. In this article, we present a QTextEdit subclass that provides completion and that demonstrates how to extend and enhance QTextEdit's functionality.

Implementing a Popup Calendar

Articles from Qt Quarterly - Tue, 14/10/2003 - 9:00pm
We often need to constrain user input for particular widgets. Qt provides many ways of doing this, but for some complex data types we may want to provide our own "value picker" that lets the user pop up a little dialog through which they can choose a valid value. In this article we present a small calendar popup that demonstrates the necessary techniques.

Mini-Quiz Answers

Articles from Qt Quarterly - Tue, 14/10/2003 - 9:00pm
In Issue 7 we asked for the longest gramatically correct English sentence that consists entirely of Qt 3.2.0 function names, e.g. ``take back all animated green children'' (6 words).

What's New in Qt 3.2

Articles from Qt Quarterly - Tue, 14/10/2003 - 9:00pm
Qt 3.2 is now available. This new version introduces many new classes and some features that you might want to use right away in your Qt applications. We will review many of these in this article. For a complete list of what has changed, see Changes 3.2.0.

Multi-Page Dialogs

Articles from Qt Quarterly - Thu, 12/06/2003 - 12:00am
Multi-page dialogs present information on pages that are superimposed on screen, so that only one page is visible at any one time. This articles demonstrates two kinds of multi-page dialog and explains how to achieve automatic dialog resizing when a new page is made visible.

Far-Reaching QFtp and QHttp

Articles from Qt Quarterly - Thu, 12/06/2003 - 12:00am
Qt's QUrlOperator provides simple and convenient access to remote files that are accessible using the FTP or HTTP protocols. New in Qt 3.1 are more direct interfaces to these protocols in the QFtp and QHttp classes. In this article we will explore how these classes can give Qt programmers more power and control over remote files and servers.

Fast and Flicker-Free

Articles from Qt Quarterly - Thu, 12/06/2003 - 12:00am
Many applications are written using Qt's standard widgets. But sometimes none of the standard widgets is suitable, and it is necessary to write a custom widget. It is not hard to create a custom widget, especially when you start from a QWidget, QFrame or QScrollView subclass and reimplement paintEvent() or drawContents(). But one common problem that can affect custom widgets is flicker. In this article we will explain why flicker occurs and how to avoid it.

Glimpsing the Third Dimension

Articles from Qt Quarterly - Thu, 12/06/2003 - 12:00am
Qt's QGL module makes it easy to integrate OpenGL rendering into Qt applications. In this article we will demonstrate how to create a custom QGLContext that can make use of implementation-specific features not covered by the QGL abstraction. We will also present a simple example of a multiplatform multithreaded OpenGL Qt application.

Glimpsing the Third Dimension

Articles from Qt Quarterly - Wed, 11/06/2003 - 9:00pm
Qt's QGL module makes it easy to integrate OpenGL rendering into Qt applications. In this article we will demonstrate how to create a custom QGLContext that can make use of implementation-specific features not covered by the QGL abstraction. We will also present a simple example of a multiplatform multithreaded OpenGL Qt application.

Multi-Page Dialogs

Articles from Qt Quarterly - Wed, 11/06/2003 - 9:00pm
Multi-page dialogs present information on pages that are superimposed on screen, so that only one page is visible at any one time. This articles demonstrates two kinds of multi-page dialog and explains how to achieve automatic dialog resizing when a new page is made visible.

Pages