Qt Reference Documentation

What's New in Qt 4.7

Qt 4.7 provides many improvements and enhancements over the previous releases in the Qt 4 series. This document covers the most important features in this release, separated by category.

A list of other Qt 4 features can be found on the What's New in Qt 4 page.

Declarative UI development with Qt Quick

Qt 4.7 introduces Qt Quick, the Qt UI Creation Kit. that enables the creation of dynamic user interfaces, easier and more effective than possible with existing UI technologies. This UI Creation Kit consists of three technologies:

  • QML is a declarative language oriented on JavaScript that utilizes Qt's Meta-Object capabilities to enable designers and developers to collaborate tightly and create animated and fluid user experiences, using existing knowledge in script language and design.
  • QtDeclarative is a C++ library that provides the underlying engine, which translates the declarative description of the UI in QML into items on a QGraphicsScene. The library also provides APIs to bind custom C++ types and elements to QML, and to connect the QML UI with the underlying application logic written in C++.
  • Qt Creator has been improved to support interactive editing of QML UIs through drag-and-drop. The text editor supports the QML syntax and provides authoring assistance such as auto-completion, error lookup, help lookup and easy preview of QML UI's. The Qt Quick features in Qt Creator will be released with Qt Creator 2.1

Network Bearer Management

Bearer Management controls the connectivity state of the system. The new Bearer Management API in the QtNetwork module allows the application to identify whether the system is online and how many interfaces there are, as well as start and stop interfaces, or roam transparently between access points.

QNetworkAccessManager uses this API for HTTP level roaming.

Multimedia - playback and declarative elements

The Multimedia API provides media playback and playlist support for Qt Applications. Play music and movies through a single interface with selectable output for movies to widgets or graphics view.

Multimedia support for Quick is also available with the new multimedia declarative elements.

New Classes, Functions, Macros, etc.

Links to new classes, elements, functions, macros, and other items introduced in Qt 4.7.

New Classes

New Member Functions

Class QAudioFormat:

int channelCount () const
int sampleRate () const
void setChannelCount ( int channels )
void setSampleRate ( int samplerate )

Class QIconEngineV2:

QString iconName ()

Class QAuthenticator:

QVariant option ( const QString & opt ) const
QVariantHash options () const
void setOption ( const QString & opt, const QVariant & value )

Class QWizard:

void pageAdded ( int id )
void pageRemoved ( int id )
void setSideWidget ( QWidget * widget )
QWidget * sideWidget () const

Class QNetworkAccessManager:

QNetworkConfiguration activeConfiguration () const
QNetworkConfiguration configuration () const
NetworkAccessibility networkAccessible () const
QNetworkReply * sendCustomRequest ( const QNetworkRequest & request, const QByteArray & verb, QIODevice * data = 0 )
void setConfiguration ( const QNetworkConfiguration & config )
void setNetworkAccessible ( NetworkAccessibility accessible )

Class QNetworkRequest:

Priority priority () const
void setPriority ( Priority priority )

Class QFileSystemModel:

void directoryLoaded ( const QString & path )

Class QDBusMessage:

bool autoStartService () const
void setAutoStartService ( bool enable )

Class QAudioDeviceInfo:

QList<int> supportedChannelCounts () const
QList<int> supportedSampleRates () const

Class QGLShader:

bool hasOpenGLShaders ( ShaderType type, const QGLContext * context = 0 )

Class QGLShaderProgram:

GLenum geometryInputType () const
GLenum geometryOutputType () const
int geometryOutputVertexCount () const
int maxGeometryOutputVertices () const
void setAttributeArray ( int location, GLenum type, const void * values, int tupleSize, int stride = 0 )
void setAttributeArray ( const char * name, GLenum type, const void * values, int tupleSize, int stride = 0 )
void setAttributeBuffer ( int location, GLenum type, int offset, int tupleSize, int stride = 0 )
void setAttributeBuffer ( const char * name, GLenum type, int offset, int tupleSize, int stride = 0 )
void setGeometryOutputType ( GLenum outputType )
void setGeometryOutputVertexCount ( int count )
void setUniformValue ( int location, const GLfloat[2][2] value )
void setUniformValue ( int location, const GLfloat[3][3] value )
void setUniformValue ( const char * name, const GLfloat[2][2] value )
void setUniformValue ( const char * name, const GLfloat[3][3] value )

Class QGraphicsItem:

void updateMicroFocus ()

Class QGraphicsObject:

void updateMicroFocus ()

Class QState:

QList<QAbstractTransition *> transitions () const

Class QPlainTextEdit:

QString anchorAt ( const QPoint & pos ) const

Class QWebFrame:

void scrollToAnchor ( const QString & anchor )

Class QScriptEngine:

QScriptValue evaluate ( const QScriptProgram & program )
void reportAdditionalMemoryCost ( int size )

Class QGraphicsScale:

void xScaleChanged ()
void yScaleChanged ()
void zScaleChanged ()

New Global Functions

uint qHash ( const QUrl & url )

New QML Elements

X

Thank you for giving your feedback.

Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.