下载资源后端资源详情
qtpropertybrowser.zip
大小:96.36KB
价格:36积分
下载量:0
评分:
5.0
上传者:m0_74444874
更新日期:2025-09-22

QtTreePropertyBrowser -Qt5

资源文件列表(大概)

文件名
大小
images/
-
images/cursor-arrow.png
171B
images/cursor-busy.png
201B
images/cursor-closedhand.png
147B
images/cursor-cross.png
130B
images/cursor-forbidden.png
199B
images/cursor-hand.png
159B
images/cursor-hsplit.png
155B
images/cursor-ibeam.png
124B
images/cursor-openhand.png
160B
images/cursor-sizeall.png
174B
images/cursor-sizeb.png
161B
images/cursor-sizef.png
161B
images/cursor-sizeh.png
145B
images/cursor-sizev.png
141B
images/cursor-uparrow.png
132B
images/cursor-vsplit.png
161B
images/cursor-wait.png
172B
images/cursor-whatsthis.png
191B
qtbuttonpropertybrowser.cpp
18.01KB
qtbuttonpropertybrowser.h
1.08KB
qtbuttonpropertybrowser_p.h
1.28KB
qteditorfactory.cpp
75.84KB
qteditorfactory.h
10.22KB
qteditorfactory_p.h
10.17KB
qtgroupboxpropertybrowser.cpp
14.92KB
qtgroupboxpropertybrowser.h
914B
qtgroupboxpropertybrowser_p.h
1.1KB
qtpropertybrowser.cpp
60.86KB
qtpropertybrowser.h
8.3KB
qtpropertybrowser.pri
1.19KB
qtpropertybrowser_p.h
8.28KB
qtpropertybrowserutils.cpp
9.99KB
qtpropertybrowserutils_p.h
2.43KB
qtpropertymanager.cpp
206.28KB
qtpropertymanager.h
23.2KB
qtpropertymanager_p.h
22.63KB
qttreepropertybrowser.cpp
33.18KB
qttreepropertybrowser.h
2.74KB
qttreepropertybrowser_p.h
2.89KB
qtvariantproperty.cpp
95.78KB
qtvariantproperty.h
3.51KB
qtvariantproperty_p.h
3.66KB

资源内容介绍

qtpropertybrowser Qt5 sources
// Copyright (C) 2016 The Qt Company Ltd.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#include "qtpropertymanager.h"#include "qtpropertybrowserutils_p.h"#include <QtCore/QDateTime>#include <QtCore/QHash>#include <QtCore/QLocale>#include <QtCore/QMap>#include <QtCore/QMetaEnum>#include <QtCore/QRegularExpression>#include <QtCore/QTimer>#include <QtGui/QFontDatabase>#include <QtGui/QIcon>#include <QtGui/QPainter>#include <QtWidgets/QApplication>#include <QtWidgets/QLabel>#include <QtWidgets/QStyle>#include <QtWidgets/QStyleOption>#include <limits>#include <limits.h>#include <float.h>#if defined(Q_CC_MSVC)# pragma warning(disable: 4786) #endifQT_BEGIN_NAMESPACEtemplate <class PrivateData, class Value>static void setSimpleMinimumData(PrivateData *data, const Value &minVal){ data->minVal = minVal; if (data->maxVal < data->minVal) data->maxVal = data->minVal; if (data->val < data->minVal) data->val = data->minVal;}template <class PrivateData, class Value>static void setSimpleMaximumData(PrivateData *data, const Value &maxVal){ data->maxVal = maxVal; if (data->minVal > data->maxVal) data->minVal = data->maxVal; if (data->val > data->maxVal) data->val = data->maxVal;}template <class PrivateData, class Value>static void setSizeMinimumData(PrivateData *data, const Value &newMinVal){ data->minVal = newMinVal; if (data->maxVal.width() < data->minVal.width()) data->maxVal.setWidth(data->minVal.width()); if (data->maxVal.height() < data->minVal.height()) data->maxVal.setHeight(data->minVal.height()); if (data->val.width() < data->minVal.width()) data->val.setWidth(data->minVal.width()); if (data->val.height() < data->minVal.height()) data->val.setHeight(data->minVal.height());}template <class PrivateData, class Value>static void setSizeMaximumData(PrivateData *data, const Value &newMaxVal){ data->maxVal = newMaxVal; if (data->minVal.width() > data->maxVal.width()) data->minVal.setWidth(data->maxVal.width()); if (data->minVal.height() > data->maxVal.height()) data->minVal.setHeight(data->maxVal.height()); if (data->val.width() > data->maxVal.width()) data->val.setWidth(data->maxVal.width()); if (data->val.height() > data->maxVal.height()) data->val.setHeight(data->maxVal.height());}template <class SizeValue>static SizeValue qBoundSize(const SizeValue &minVal, const SizeValue &val, const SizeValue &maxVal){ SizeValue croppedVal = val; if (minVal.width() > val.width()) croppedVal.setWidth(minVal.width()); else if (maxVal.width() < val.width()) croppedVal.setWidth(maxVal.width()); if (minVal.height() > val.height()) croppedVal.setHeight(minVal.height()); else if (maxVal.height() < val.height()) croppedVal.setHeight(maxVal.height()); return croppedVal;}// Match the exact signature of qBound for VS 6.QSize qBound(QSize minVal, QSize val, QSize maxVal){ return qBoundSize(minVal, val, maxVal);}QSizeF qBound(QSizeF minVal, QSizeF val, QSizeF maxVal){ return qBoundSize(minVal, val, maxVal);}namespace {namespace {template <class Value>void orderBorders(Value &minVal, Value &maxVal){ if (minVal > maxVal) qSwap(minVal, maxVal);}template <class Value>static void orderSizeBorders(Value &minVal, Value &maxVal){ Value fromSize = minVal; Value toSize = maxVal; if (fromSize.width() > toSize.width()) { fromSize.setWidth(maxVal.width()); toSize.setWidth(minVal.width()); } if (fromSize.height() > toSize.height()) { fromSize.setHeight(maxVal.height()); toSize.setHeight(minVal.height()); } minVal = fromSize; maxVal = toSize;}void orderBorders(QSize &minVal, QSize &maxVal){ orderSizeBorders(minVal, maxVal);}void orderBorders(QSizeF &minVal, QSizeF &maxVal){ orderSizeBorders(minVal, maxVal);}}}////////template <class Value, class PrivateData>static Value getData(const QHash<const QtProperty *, PrivateData> &propertyMap, Value PrivateData::*data, const QtProperty *property, const Value &defaultValue = Value()){ const auto it = propertyMap.constFind(property); if (it == propertyMap.constEnd()) return defaultValue; return it.value().*data;}template <class Value, class PrivateData>static Value getValue(const QHash<const QtProperty *, PrivateData> &propertyMap, const QtProperty *property, const Value &defaultValue = Value()){ return getData<Value>(propertyMap, &PrivateData::val, property, defaultValue);}template <class Value, class PrivateData>static Value getMinimum(const QHash<const QtProperty *, PrivateData> &propertyMap, const QtProperty *property, const Value &defaultValue = Value()){ return getData<Value>(propertyMap, &PrivateData::minVal, property, defaultValue);}template <class Value, class PrivateData>static Value getMaximum(const QHash<const QtProperty *, PrivateData> &propertyMap, const QtProperty *property, const Value &defaultValue = Value()){ return getData<Value>(propertyMap, &PrivateData::maxVal, property, defaultValue);}template <class ValueChangeParameter, class Value, class PropertyManager>static void setSimpleValue(QHash<const QtProperty *, Value> &propertyMap, PropertyManager *manager, void (PropertyManager::*propertyChangedSignal)(QtProperty *), void (PropertyManager::*valueChangedSignal)(QtProperty *, ValueChangeParameter), QtProperty *property, const Value &val){ const auto it = propertyMap.find(property); if (it == propertyMap.end()) return; if (it.value() == val) return; it.value() = val; emit (manager->*propertyChangedSignal)(property); emit (manager->*valueChangedSignal)(property, val);}template <class ValueChangeParameter, class PropertyManagerPrivate, class PropertyManager, class Value>static void setValueInRange(PropertyManager *manager, PropertyManagerPrivate *managerPrivate, void (PropertyManager::*propertyChangedSignal)(QtProperty *), void (PropertyManager::*valueChangedSignal)(QtProperty *, ValueChangeParameter), QtProperty *property, const Value &val, void (PropertyManagerPrivate::*setSubPropertyValue)(QtProperty *, ValueChangeParameter)){ const auto it = managerPrivate->m_values.find(property); if (it == managerPrivate->m_values.end()) return; auto &data = it.value(); if (data.val == val) return; const Value oldVal = data.val; data.val = qBound(data.minVal, val, data.maxVal); if (data.val == oldVal) return; if (setSubPropertyValue) (managerPrivate->*setSubPropertyValue)(property, data.val); emit (manager->*propertyChangedSignal)(property); emit (manager->*valueChangedSignal)(property, data.val);}template <class ValueChangeParameter, class PropertyManagerPrivate, class PropertyManager, class Value>static void setBorderValues(PropertyManager *manager, PropertyManagerPrivate *managerPrivate, void (PropertyManager::*propertyChangedSignal)(QtProperty *), void (PropertyManager::*valueChangedSignal)(QtProperty *, ValueChangeParameter), void (PropertyManager::*rangeChangedSignal)(QtProperty *, ValueChangeParameter, ValueChangeParameter), QtProperty *property, ValueChangeParameter minVal, ValueChangeParameter maxVal, void (Prop

用户评论 (0)

发表评论

captcha