Auf dieser Seite

QCustom3DVolume Class

Die Klasse „QCustom3DVolume“ fügt einem Diagramm ein volumengeneriertes Objekt hinzu. Mehr...

Header: #include <QCustom3DVolume>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: Custom3DVolume
Erbt von: QCustom3DItem

Eigenschaften

Öffentliche Funktionen

QCustom3DVolume(QObject *parent = nullptr)
QCustom3DVolume(QVector3D position, QVector3D scaling, const QQuaternion &rotation, int textureWidth, int textureHeight, int textureDepth, QList<uchar> *textureData, QImage::Format textureFormat, const QList<QRgb> &colorTable, QObject *parent = nullptr)
virtual ~QCustom3DVolume() override
float alphaMultiplier() const
QList<QRgb> colorTable() const
QList<uchar> *createTextureData(const QList<QImage *> &images)
bool drawSliceFrames() const
bool drawSlices() const
bool preserveOpacity() const
QImage renderSlice(Qt::Axis axis, int index)
void setAlphaMultiplier(float mult)
void setColorTable(const QList<QRgb> &colors)
void setDrawSliceFrames(bool enable)
void setDrawSlices(bool enable)
void setPreserveOpacity(bool enable)
void setSliceFrameColor(QColor color)
void setSliceFrameGaps(QVector3D values)
void setSliceFrameThicknesses(QVector3D values)
void setSliceFrameWidths(QVector3D values)
void setSliceIndexX(int value)
void setSliceIndexY(int value)
void setSliceIndexZ(int value)
void setSliceIndices(int x, int y, int z)
void setSubTextureData(Qt::Axis axis, int index, const QImage &image)
void setSubTextureData(Qt::Axis axis, int index, const uchar *data)
void setTextureData(QList<uchar> *data)
void setTextureDepth(int value)
void setTextureDimensions(int width, int height, int depth)
void setTextureFormat(QImage::Format format)
void setTextureHeight(int value)
void setTextureWidth(int value)
void setUseHighDefShader(bool enable)
QColor sliceFrameColor() const
QVector3D sliceFrameGaps() const
QVector3D sliceFrameThicknesses() const
QVector3D sliceFrameWidths() const
int sliceIndexX() const
int sliceIndexY() const
int sliceIndexZ() const
QList<uchar> *textureData() const
int textureDataWidth() const
int textureDepth() const
QImage::Format textureFormat() const
int textureHeight() const
int textureWidth() const
bool useHighDefShader() const

Signale

void alphaMultiplierChanged(float mult)
void colorTableChanged()
void drawSliceFramesChanged(bool enabled)
void drawSlicesChanged(bool enabled)
void preserveOpacityChanged(bool enabled)
void sliceFrameColorChanged(QColor color)
void sliceFrameGapsChanged(QVector3D values)
void sliceFrameThicknessesChanged(QVector3D values)
void sliceFrameWidthsChanged(QVector3D values)
void sliceIndexXChanged(int value)
void sliceIndexYChanged(int value)
void sliceIndexZChanged(int value)
void textureDataChanged(QList<uchar> *data)
void textureDepthChanged(int value)
void textureFormatChanged(QImage::Format format)
void textureHeightChanged(int value)
void textureWidthChanged(int value)
void useHighDefShaderChanged(bool enabled)

Ausführliche Beschreibung

Ein volumengeneriertes Objekt ist ein Quader mit einer 3D-Textur. Für das Volumen werden drei Schnittebenen unterstützt, jeweils eine entlang jeder Hauptachse des Volumens.

Das Rendern von Volumenobjekten ist sehr rechenintensiv, insbesondere wenn das Volumen weitgehend transparent ist, da der Inhalt des Volumens mittels Raytracing berechnet wird. Die Leistung skaliert nahezu linear mit der Anzahl der Pixel, die das Volumen auf dem Bildschirm einnimmt. Daher sind die Darstellung des Volumens in einer kleineren Ansicht oder die Begrenzung des Zoomfaktors des Diagramms einfache Möglichkeiten, die Leistung zu verbessern. Ebenso haben die Abmessungen der Volumen-Textur einen großen Einfluss auf die Leistung. Wenn die Bildrate wichtiger ist als eine pixelgenaue Darstellung des Volumens, sollten Sie in Erwägung ziehen, den High-Definition-Shader zu deaktivieren, indem Sie die Eigenschaft „ useHighDefShader “ auf „ false “ setzen.

Hinweis: Volumetrische Objekte verwenden 3D-Texturen, die in OpenGL ES2-Umgebungen nicht unterstützt werden.

Hinweis: Es werdennur zwei Formate unterstützt: „ QImage::Format_Indexed8 “ und „ QImage::Format_ARGB32 “. Wenn ein indiziertes Format angegeben wird, muss auch „ colorTable “ gesetzt werden. Der Standardwert ist „ QImage::Format_ARGB32 “.

Siehe auch Q3DGraphsWidgetItem::addCustomItem() und useHighDefShader.

Dokumentation zu den Eigenschaften

alphaMultiplier : float

Diese Eigenschaft enthält den Wert, mit dem der Alpha-Wert jedes Texels der Volumen-Textur zum Zeitpunkt des Renderings multipliziert wird.

Diese Eigenschaft kann verwendet werden, um eine einheitliche Transparenz im Volumen zu erzeugen. Wenn „ preserveOpacity “ auf „ true “ gesetzt ist, sind nur Texel betroffen, die von vornherein zumindest eine gewisse Transparenz aufweisen; vollständig undurchsichtige Texel bleiben davon unberührt. Der Wert darf nicht negativ sein. Der Standardwert ist „ 1.0f “.

Zugriffsfunktionen:

float alphaMultiplier() const
void setAlphaMultiplier(float mult)

Benachrichtigungssignal:

void alphaMultiplierChanged(float mult)

Siehe auch preserveOpacity und textureData.

colorTable : QList<QRgb>

Diese Eigenschaft enthält das Array mit den Farben für indizierte Texturformate.

Wenn das Texturformat nicht indiziert ist, wird dieses Array nicht verwendet und kann leer sein.

Der Standardwert ist „ 0 “.

Zugriffsfunktionen:

QList<QRgb> colorTable() const
void setColorTable(const QList<QRgb> &colors)

Benachrichtigungssignal:

void colorTableChanged()

Siehe auch „ textureData“ , „ setTextureFormat()“ und „ QImage::colorTable()“.

drawSliceFrames : bool

Diese Eigenschaft legt fest, ob um das Volumen herum Schnittrahmen gezeichnet werden.

Wenn der Wert dieser Eigenschaft „ true “ lautet, werden die Rahmen der Schnitte, die durch die Schnittindex-Eigenschaften angegeben werden, um das Volumen herum gezeichnet. Lautet der Wert „ false “, werden keine Schnittrahmen gezeichnet.

Das Zeichnen von Schnittrahmen erfolgt unabhängig vom Zeichnen der Schnitte, sodass Sie das gesamte Volumen anzeigen und dennoch die Schnittrahmen darum herum zeichnen können. Dies ist nützlich, wenn Sie mit „ renderSlice()“ die Schnitte außerhalb des Diagramms selbst anzeigen.

Standardwert ist ` false`.

Zugriffsfunktionen:

bool drawSliceFrames() const
void setDrawSliceFrames(bool enable)

Notifier-Signal:

void drawSliceFramesChanged(bool enabled)

Siehe auch ` sliceIndexX`, ` sliceIndexY`, ` sliceIndexZ`, ` drawSlices` und ` renderSlice()`.

drawSlices : bool

Diese Eigenschaft legt fest, ob anstelle des gesamten Volumens die angegebenen Schnitte gezeichnet werden.

Wenn dieser Eigenschaftswert auf „ true “ gesetzt ist, werden anstelle des gesamten Volumens die durch die Schnittindex-Eigenschaften angegebenen Schnitte gezeichnet. Bei „ false “ wird immer das gesamte Volumen gezeichnet. Der Standardwert ist „ false “.

Hinweis: Die Schnitte werden immer entlang der Achsen des Elements gezeichnet; wenn das Element also gedreht wird, werden auch die Schnitte gedreht.

Zugriffsfunktionen:

bool drawSlices() const
void setDrawSlices(bool enable)

Benachrichtigungssignal:

void drawSlicesChanged(bool enabled)

Siehe auch „ sliceIndexX “, „ sliceIndexY “ und „ sliceIndexZ “.

preserveOpacity : bool

Diese Eigenschaft legt fest, ob der Alpha-Multiplikator auf alle Texel angewendet wird.

Wenn dieser Eigenschaftswert „ true “ lautet, wird „ alphaMultiplier “ nur auf Texel angewendet, die bereits eine gewisse Transparenz aufweisen. Lautet er „ false “, wird der Multiplikator auf den Alpha-Wert aller Texel angewendet. Der Standardwert ist „ true “.

Zugriffsfunktionen:

bool preserveOpacity() const
void setPreserveOpacity(bool enable)

Benachrichtigungssignal:

void preserveOpacityChanged(bool enabled)

Siehe auch alphaMultiplier.

sliceFrameColor : QColor

Diese Eigenschaft legt die Farbe des Schnittrahmens fest.

Transparente Slice-Rahmenfarben werden nicht unterstützt.

Standardmäßig ist die Farbe Schwarz.

Zugriffsfunktionen:

QColor sliceFrameColor() const
void setSliceFrameColor(QColor color)

Benachrichtigungssignal:

void sliceFrameColorChanged(QColor color)

Siehe auch „ drawSliceFrames “.

sliceFrameGaps : QVector3D

Diese Eigenschaft gibt die Größe des Luftspalts an, der in jeder Dimension zwischen dem Volumen selbst und dem Rahmen verbleibt.

Der Spalt kann in den verschiedenen Dimensionen unterschiedlich sein. Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte dürfen nicht negativ sein.

Standardwert: QVector3D(0.01, 0.01, 0.01).

Zugriffsfunktionen:

QVector3D sliceFrameGaps() const
void setSliceFrameGaps(QVector3D values)

Benachrichtigungssignal:

void sliceFrameGapsChanged(QVector3D values)

Siehe auch „ drawSliceFrames “.

sliceFrameThicknesses : QVector3D

Diese Eigenschaft enthält die Dicke der Schnittbilder für jede Dimension.

Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte dürfen nicht negativ sein.

Standardwert ist „ QVector3D(0.01, 0.01, 0.01) “.

Zugriffsfunktionen:

QVector3D sliceFrameThicknesses() const
void setSliceFrameThicknesses(QVector3D values)

Benachrichtigungssignal:

void sliceFrameThicknessesChanged(QVector3D values)

Siehe auch „ drawSliceFrames “.

sliceFrameWidths : QVector3D

Diese Eigenschaft gibt die Breite des Schnittrahmens an.

Die Breite kann je nach Dimension unterschiedlich sein. So können Sie beispielsweise das Zeichnen der Rahmen an bestimmten Seiten des Volumens unterdrücken, indem Sie den Wert für diese Dimension auf Null setzen. Die Werte sind Bruchteile der Volumendicke in derselben Dimension. Die Werte dürfen nicht negativ sein.

Standardwert: QVector3D(0.01, 0.01, 0.01).

Zugriffsfunktionen:

QVector3D sliceFrameWidths() const
void setSliceFrameWidths(QVector3D values)

Benachrichtigungssignal:

void sliceFrameWidthsChanged(QVector3D values)

Siehe auch drawSliceFrames.

sliceIndexX : int

Diese Eigenschaft enthält den x-Dimension-Index in den Texturdaten, der angibt, welcher vertikale Schnitt angezeigt werden soll.

Wird eine Dimension auf einen negativen Wert gesetzt, bedeutet dies, dass für diese Dimension kein Schnitt oder Schnittrahmen gezeichnet wird. Sind alle Dimensionen negativ, werden keine Schnitte oder Schnittrahmen gezeichnet und das Volumen wird normal dargestellt.

Standardwert ist „ -1 “.

Zugriffsfunktionen:

int sliceIndexX() const
void setSliceIndexX(int value)

Benachrichtigungssignal:

void sliceIndexXChanged(int value)

Siehe auch „ textureData “, „ drawSlices “ und „ drawSliceFrames “.

sliceIndexY : int

Diese Eigenschaft enthält den y-Dimensionsindex in den Texturdaten, der angibt, welche horizontale Scheibe angezeigt werden soll.

Wird eine Dimension auf einen negativen Wert gesetzt, wird für diese Dimension kein Schnitt oder Schnittrahmen gezeichnet. Sind alle Dimensionen negativ, werden keine Schnitte oder Schnittrahmen gezeichnet und das Volumen wird normal dargestellt.

Standardwert ist „ -1 “.

Zugriffsfunktionen:

int sliceIndexY() const
void setSliceIndexY(int value)

Benachrichtigungssignal:

void sliceIndexYChanged(int value)

Siehe auch „ textureData “, „ drawSlices “ und „ drawSliceFrames “.

sliceIndexZ : int

Diese Eigenschaft enthält den Z-Dimension-Index in den Texturdaten, der angibt, welcher vertikale Schnitt angezeigt werden soll.

Wird eine Dimension auf einen negativen Wert gesetzt, bedeutet dies, dass für diese Dimension kein Schnitt oder Schnittrahmen gezeichnet wird. Sind alle Dimensionen negativ, werden keine Schnitte oder Schnittrahmen gezeichnet und das Volumen wird normal dargestellt.

Standardwert ist „ -1 “.

Zugriffsfunktionen:

int sliceIndexZ() const
void setSliceIndexZ(int value)

Benachrichtigungssignal:

void sliceIndexZChanged(int value)

Siehe auch „ textureData “, „ drawSlices “ und „ drawSliceFrames “.

textureData : QList<uchar>*

Diese Eigenschaft enthält das Array mit den Texturdaten in dem unter textureFormat angegebenen Format.

Die Größe dieses Arrays muss mindestens (textureDataWidth * textureHeight * textureDepth * texture format color depth in bytes) betragen.

Eine 3D-Textur wird durch einen Stapel von 2D-Teiltexturen definiert. Jede Teiltextur muss dieselbe Größe haben (textureDataWidth * textureHeight), und die Tiefe des Stapels wird durch die Eigenschaft „ textureDepth “ definiert. Die Daten in jeder 2D-Textur entsprechen den Daten von „ QImage “ mit demselben Format, sodass mit „ QImage::bits()“ die Daten für jede Teiltextur bereitgestellt werden können.

Die Eigentumsrechte am neuen Array gehen auf die Instanz „ QCustom3DVolume “ über. Wird ein anderes Array festgelegt, wird das vorherige Array gelöscht. Wird dasselbe Array erneut festgelegt, wird davon ausgegangen, dass der Inhalt des Arrays geändert wurde, und die Grafikdarstellung wird ausgelöst.

Hinweis: Jede Zeile der Daten in der x-Dimension muss 32-Bit-ausgerichtet sein. Wenn „ textureFormat “ auf „ QImage::Format_Indexed8 “ gesetzt ist und der Wert von „ textureWidth “ nicht durch vier teilbar ist, müssen möglicherweise Füllbytes zu jeder Zeile in der x-Dimension des „ data “ hinzugefügt werden. Die Funktion „ textureDataWidth()“ gibt die Anzahl der hinzugefügten Füllbytes zurück. Die Auffüllbytes sollten eine vollständig transparente Farbe anzeigen, um Darstellungsfehler zu vermeiden.

Standardwert ist „ 0 “.

Zugriffsfunktionen:

QList<uchar> *textureData() const
void setTextureData(QList<uchar> *data)

Benachrichtigungssignal:

void textureDataChanged(QList<uchar> *data)

Siehe auch „ colorTable“ , „ setTextureFormat()“, „ setSubTextureData()“ und „ textureDataWidth()“.

textureDepth : int

Diese Eigenschaft gibt die Tiefe der 3D-Textur an, die den Voluminhalt in Pixeln definiert.

Standardwert ist „ 0 “.

Hinweis: Der Wert „ textureData “ muss möglicherweise angepasst oder neu erstellt werden, wenn dieser Wert geändert wird. Der Standardwert ist „ 0 “.

Zugriffsfunktionen:

int textureDepth() const
void setTextureDepth(int value)

Benachrichtigungssignal:

void textureDepthChanged(int value)

Siehe auch „ textureData“ , „ textureWidth “, „ textureHeight “ und „ setTextureFormat()“.

textureHeight : int

Diese Eigenschaft enthält die Höhe der 3D-Textur, die den Volumeninhalt in Pixeln definiert.

Standardwert ist „ 0 “.

Hinweis: Der Wert „ textureData “ muss möglicherweise angepasst oder neu erstellt werden, wenn dieser Wert geändert wird. Der Standardwert lautet „ 0 “.

Zugriffsfunktionen:

int textureHeight() const
void setTextureHeight(int value)

Benachrichtigungssignal:

void textureHeightChanged(int value)

Siehe auch „ textureData“ , „ textureWidth “, „ textureDepth “ und „ setTextureFormat()“.

textureWidth : int

Diese Eigenschaft gibt die Breite der 3D-Textur in Pixeln an, die den Inhalt des Volumens definiert.

Standardwert ist „ 0 “.

Hinweis: Der Wert „ textureData “ muss möglicherweise angepasst oder neu erstellt werden, wenn dieser Wert geändert wird. Der Standardwert lautet „ 0 “.

Zugriffsfunktionen:

int textureWidth() const
void setTextureWidth(int value)

Benachrichtigungssignal:

void textureWidthChanged(int value)

Siehe auch „ textureData“ , „ textureHeight “, „ textureDepth “, „ setTextureFormat()“ und „ textureDataWidth()“.

useHighDefShader : bool

Diese Eigenschaft legt fest, ob zum Rendern des Volumens ein Shader mit hoher oder niedriger Auflösung verwendet wird.

Wenn der Wert dieser Eigenschaft „ true “ lautet, wird ein hochauflösender Shader verwendet. Lautet er „ false “, wird ein niedrigauflösender Shader verwendet.

Der hochauflösende Shader gewährleistet, dass jedes sichtbare Texel der Volumen-Textur beim Rendern des Volumens abgetastet wird. Der Shader mit niedriger Auflösung rendert nur eine grobe Annäherung an den Inhalt des Volumens, dafür jedoch mit einer deutlich höheren Bildrate. Der Shader mit niedriger Auflösung garantiert nicht, dass jedes Texel der Volumen-Textur abgetastet wird; daher kann es zu Flackern kommen, wenn das Volumen ausgeprägte, dünne Merkmale enthält.

Hinweis: Dieser Wert hat keinen Einfluss auf den Detaillierungsgrad beim Rendern der Schnitte des Volumens.

Standardwert ist „ true “.

Zugriffsfunktionen:

bool useHighDefShader() const
void setUseHighDefShader(bool enable)

Notifier-Signal:

void useHighDefShaderChanged(bool enabled)

Siehe auch renderSlice().

Dokumentation der Mitgliedsfunktionen

[explicit] QCustom3DVolume::QCustom3DVolume(QObject *parent = nullptr)

Erstellt ein benutzerdefiniertes 3D-Volumen mit dem angegebenen „ parent “.

[explicit] QCustom3DVolume::QCustom3DVolume(QVector3D position, QVector3D scaling, const QQuaternion &rotation, int textureWidth, int textureHeight, int textureDepth, QList<uchar> *textureData, QImage::Format textureFormat, const QList<QRgb> &colorTable, QObject *parent = nullptr)

Erstellt ein benutzerdefiniertes 3D-Volumen mit den angegebenen Parametern „ position “, „ scaling “, „ rotation “, „ textureWidth “, „ textureHeight “, „ textureDepth “, „ textureData “, „ textureFormat “, „ colorTable “ und dem optionalen Parameter „ parent “.

Siehe auch textureData, setTextureFormat() und colorTable.

[override virtual noexcept] QCustom3DVolume::~QCustom3DVolume()

Löscht das benutzerdefinierte 3D-Volumen.

QList<uchar> *QCustom3DVolume::createTextureData(const QList<QImage *> &images)

Erstellt ein neues Texturdaten-Array aus einem Array von „ images “-Elementen und legt es als „ textureData “ für dieses Volumenobjekt fest. Die Texturabmessungen werden ebenfalls entsprechend den Bild- und Array-Abmessungen festgelegt. Alle Bilder im Array müssen dieselbe Größe haben. Wenn die Bilder nicht alle im Format „ QImage::Format_Indexed8 “ vorliegen, werden alle Texturdaten in das Format „ QImage::Format_ARGB32 “ konvertiert. Liegen die Bilder im Format „ QImage::Format_Indexed8 “ vor, wird der Wert „ colorTable “ für das gesamte Volumen aus dem ersten Bild übernommen.

Gibt einen Zeiger auf das neu erstellte Array zurück.

Siehe auch „ textureData“ , „ textureWidth “, „ textureHeight “, „ textureDepth “ und „ setTextureFormat()“.

QImage QCustom3DVolume::renderSlice(Qt::Axis axis, int index)

Rendert den durch ` index ` angegebenen Ausschnitt entlang der durch ` axis ` angegebenen Achse in ein Bild. Dabei wird das Texturformat dieses Objekts verwendet.

Gibt das gerenderte Bild des Schnitts zurück oder ein Nullbild, wenn ein ungültiger Index angegeben wurde.

Siehe auch setTextureFormat().

void QCustom3DVolume::setSliceIndices(int x, int y, int z)

Eine Hilfsfunktion zum gleichzeitigen Setzen aller drei Slice-Indizes (x, y und z).

Siehe auch textureData.

void QCustom3DVolume::setSubTextureData(Qt::Axis axis, int index, const QImage &image)

Legt eine einzelne 2D-Teiltextur der 3D-Textur entlang der angegebenen „ axis “ des Volumens fest. Der Parameter „ index “ gibt die festzulegende Teiltextur an. Die Quell image muss in dem durch die Eigenschaft „ textureFormat “ festgelegten Format vorliegen, wenn „ textureFormat “ indiziert ist. Wenn „ textureFormat “ auf „ QImage::Format_ARGB32 “ gesetzt ist, wird das Bild in dieses Format konvertiert. Das Bild muss die Größe des Querschnitts der Volumentextur entlang der angegebenen Achse haben. Die Ausrichtung des Bildes sollte der Ausrichtung des durch die Methode „ renderSlice()“ entlang derselben Achse erzeugten Schnittbildes entsprechen.

Hinweis: Jede Zeile der Daten in der x-Dimension muss 32-Bit-ausgerichtet sein, wenn die y- oder z-Achse als Zielachse gewählt wird. Wenn textureFormat auf QImage::Format_Indexed8 gesetzt ist und der Wert von textureWidth nicht durch vier teilbar ist, müssen möglicherweise Füllbytes zu jeder Zeile der x-Dimension des Bildes hinzugefügt werden, um es korrekt auszurichten. Die Auffüllbytes sollten eine vollständig transparente Farbe angeben, um Rendering-Artefakte zu vermeiden. Es ist nicht garantiert, dass „ QImage “ dies automatisch durchführt.

Siehe auch textureData und renderSlice().

void QCustom3DVolume::setSubTextureData(Qt::Axis axis, int index, const uchar *data)

Legt eine einzelne 2D-Teiltextur der 3D-Textur entlang der angegebenen „ axis “ des Volumens fest. Der Parameter „ index “ gibt die festzulegende Teiltextur an. Die Textur „ data “ muss das durch die Eigenschaft „ textureFormat “ festgelegte Format aufweisen und eine Größe haben, die dem Querschnitt der Volumentextur entlang der angegebenen Achse, multipliziert mit der Farbtiefe des Texturformats in Byte, entspricht. Es wird erwartet, dass die „ data “ in ähnlicher Reihenfolge angeordnet sind wie die Daten in Bildern, die mit der Methode „ renderSlice()“ entlang derselben Achse erzeugt wurden.

Hinweis: Jede Zeile der Daten in der x-Dimension muss 32-Bit-ausgerichtet sein, wenn die y- oder z-Achse als Zielachse gewählt wird. Wenn „ textureFormat “ auf „ QImage::Format_Indexed8 “ gesetzt ist und der Wert von „ textureWidth “ nicht durch vier teilbar ist, müssen möglicherweise Füllbytes zu jeder Zeile der Daten in der x-Dimension des „ data “ hinzugefügt werden, um diese korrekt auszurichten. Die Auffüllbytes sollten eine vollständig transparente Farbe angeben, um Rendering-Artefakte zu vermeiden.

Siehe auch textureData und renderSlice().

void QCustom3DVolume::setTextureDimensions(int width, int height, int depth)

Eine Komfortfunktion zum gleichzeitigen Festlegen aller drei Texturdimensionen (width, height und depth).

Siehe auch textureData.

void QCustom3DVolume::setTextureFormat(QImage::Format format)

Legt das Format der Eigenschaft „ textureData “ auf „ format “ fest. Derzeit werden nur zwei Formate unterstützt: „ QImage::Format_Indexed8 “ und „ QImage::Format_ARGB32 “. Wenn ein indiziertes Format angegeben wird, muss auch „ colorTable “ festgelegt werden. Der Standardwert ist „ QImage::Format_ARGB32 “.

Siehe auch textureFormat(), colorTable und textureData.

int QCustom3DVolume::textureDataWidth() const

Gibt die tatsächliche Breite der Texturdaten zurück. Wenn das Texturformat „ QImage::Format_Indexed8 “ ist, entspricht dieser Wert dem Wert „ textureWidth “, ausgerichtet auf eine 32-Bit-Grenze. Andernfalls entspricht dieser Wert dem Vierfachen von „ textureWidth “.

QImage::Format QCustom3DVolume::textureFormat() const

Gibt das Format des Wertes der Eigenschaft „ textureData “ zurück.

Siehe auch „ setTextureFormat()“.

[signal] void QCustom3DVolume::textureFormatChanged(QImage::Format format)

Dieses Signal wird ausgelöst, wenn sich der Wert „ format “ von „ textureData “ ändert.

Siehe auch setTextureFormat().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.