Qt статьи

Mini-Quiz Answers

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).

Что нового в Qt 3.2

Jasmin Blanchette, Harald Fernengel (перевод Andi Peredri)

Сейчас уже доступна Qt 3.2. В этой версии появилось много новых классов и возможностей, которые вам бы наверняка захотелось должным образом использовать в своих Qt-приложениях. Большинство из них мы рассмотрим в этой статье. С полным списком изменений в Qt 3.2.0 можно ознакомиться здесь: Changes 3.2.0.

Implementing a Popup Calendar

by Mark Summerfield

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.

Customizing for Completion

by Mark Summerfield

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.

A Model/View Table for Large Datasets

by Reginald Stadlbauer

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.

Мультистраничные Диалоги

Jasmin Blanchette

Мультистраничные диалоги представляют информацию на страницах, которые отображены на экране так, что только одна страница видима в любой момент времени. Это статья демонстрируют два вида мультистраничного диалога и объясняет, как достигнуть автоматического изменения размеров диалога, когда новая страница становится видимой.

Glimpsing the Third Dimension

by Trond Kjernеsen

Qt's QGL module makes it easy to integrate OpenGL[1] 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.

Far-Reaching QFtp and QHttp

by Rainer M. Schmid

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.

Generating XML

by Jasmin Blanchette

Qt provides the SAX and DOM classes for parsing XML, but does not include a dedicated class to generate XML. In this article we will develop a straightforward XmlWriter class based on QTextStream, and demonstrate how to use it in practice, with an example that generates a Qt Designer .ui file.

Canvas Item Groupies

by Warwick Allison

Diagram editors and similar programs often provide their users with a means of grouping graphical items together. Grouping makes it easier for users to apply an operation to many items at once. This article presents one simple approach to grouping canvas items using a generic CanvasGroup class. We also provide a QCanvasView subclass as a practical example of use.