![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qqstylekitcontrolproperties_p.h>
Public Member Functions | |
| QQStyleKitDelegateProperties (QQSK::PropertyGroup groupgroup, QQStyleKitControlProperties *parent=nullptr) | |
| template<typename... CHANGED_SIGNALS> | |
| void | emitGlobally (QQStyleKitExtendableControlType controlType, CHANGED_SIGNALS... changedSignals) const |
| qreal | radius () const |
| void | setRadius (qreal radius) |
| qreal | topLeftRadius () const |
| void | setTopLeftRadius (qreal radius) |
| qreal | topRightRadius () const |
| void | setTopRightRadius (qreal radius) |
| qreal | bottomLeftRadius () const |
| void | setBottomLeftRadius (qreal radius) |
| qreal | bottomRightRadius () const |
| void | setBottomRightRadius (qreal radius) |
| qreal | scale () const |
| void | setScale (qreal scalescale) |
| qreal | rotation () const |
| void | setRotation (qreal rotation) |
| qreal | width () const |
| void | setWidth (qreal widthwidth) |
| qreal | height () const |
| void | setHeight (qreal heightheight) |
| qreal | minimumWidth () const |
| void | setMinimumWidth (qreal widthwidth) |
| qreal | minimumHeight () const |
| void | setMinimumHeight (qreal heightheight) |
| bool | fillWidth () const |
| void | setFillWidth (bool fill) |
| bool | fillHeight () const |
| void | setFillHeight (bool fill) |
| qreal | margins () const |
| void | setMargins (qreal margins) |
| qreal | leftMargin () const |
| void | setLeftMargin (qreal margin) |
| qreal | rightMargin () const |
| void | setRightMargin (qreal margin) |
| qreal | topMargin () const |
| void | setTopMargin (qreal margin) |
| qreal | bottomMargin () const |
| void | setBottomMargin (qreal margin) |
| Qt::Alignment | alignment () const |
| void | setAlignment (Qt::Alignment alignment) |
| qreal | opacity () const |
| void | setOpacity (qreal opacity) |
| QColor | color () const |
| void | setColor (const QColor &colorcolor) |
| bool | visible () const |
| void | setVisible (bool visible) |
| bool | clip () const |
| void | setClip (bool clip) |
| QQuickGradient * | gradient () const |
| void | setGradient (QQuickGradient *gradient) |
| QObject * | data () const |
| void | setData (QObject *datadata) |
| QQmlComponent * | delegate () const |
| void | setDelegate (QQmlComponent *delegate) |
| QQStyleKitImageProperties * | image () const |
| QQStyleKitBorderProperties * | border () const |
| QQStyleKitShadowProperties * | shadow () const |
| Public Member Functions inherited from QQStyleKitPropertyGroup | |
| QQStyleKitPropertyGroup (QQSK::PropertyGroup groupgroup, QObject *parent) | |
| \qmltype ControlStyleProperties \nativetype QQStyleKitControlProperties \inqmlmodule Qt.labs.StyleKit | |
| template<typename T> | |
| T | styleProperty (QQSK::Property property, QQSK::Property alternative=QQSK::Property::NoProperty) const |
| template<typename T> | |
| T | styleProperty (QQSK::Property property, const T &defaultValue) const |
| template<typename T> | |
| bool | setStyleProperty (QQSK::Property property, T valuevalue) |
| bool | isDefined (QQSK::Property property) const |
| template<typename SUBCLASS> | |
| void | handleStylePropertyChanged (void(SUBCLASS::*changedSignal)()) |
| template<typename SUBCLASS, typename... CHANGED_SIGNALS> | |
| void | handleStylePropertiesChanged (CHANGED_SIGNALS... changedSignals) |
| template<typename T> | |
| T * | lazyCreateGroup (T *const &ptr, QQSK::PropertyGroup groupgroup) const |
| bool | isControlProperties () const |
| QQStyleKitControlProperties * | controlProperties () const |
| QQSK::PropertyPathFlags | pathFlags () const |
| QQStyleKitPropertyGroupSpace | groupSpace () const |
| void | emitChangedForAllStylePropertiesRecursive (EmitFlags emitFlags) |
| Public Member Functions inherited from QObject | |
| Q_INVOKABLE | QObject (QObject *parent=nullptr) |
| Constructs an object with parent object parent. | |
| virtual | ~QObject () |
| Destroys the object, deleting all its child objects. | |
| virtual bool | event (QEvent *event) |
| This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
| virtual bool | eventFilter (QObject *watched, QEvent *eventevent) |
| Filters events if this object has been installed as an event filter for the watched object. | |
| QString | objectName () const |
| Q_WEAK_OVERLOAD void | setObjectName (const QString &namename) |
| Sets the object's name to name. | |
| void | setObjectName (QAnyStringView namename) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| QBindable< QString > | bindableObjectName () |
| bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. | |
| bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false. | |
| bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false. | |
| bool | isQmlExposed () const noexcept |
| Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership(). | |
| bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false. | |
| bool | blockSignals (bool b) noexcept |
| If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
| QThread * | thread () const |
| Returns the thread in which the object lives. | |
| bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
| int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
| This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
| int | startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
| void | killTimer (int idid) |
| Kills the timer with timer identifier, id. | |
| void | killTimer (Qt::TimerId idid) |
| template<typename T> | |
| T | findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
| template<typename T> | |
| QList< T > | findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
| template<typename T> | |
| T | findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| template<typename T> | |
| QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| const QObjectList & | children () const |
| Returns a list of child objects. | |
| void | setParent (QObject *parent) |
| Makes the object a child of parent. | |
| void | installEventFilter (QObject *filterObj) |
| Installs an event filter filterObj on this object. | |
| void | removeEventFilter (QObject *objobj) |
| Removes an event filter object obj from this object. | |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType typetype=Qt::AutoConnection) const |
| bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
| bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
| void | dumpObjectTree () const |
| Dumps a tree of children to the debug output. | |
| void | dumpObjectInfo () const |
| Dumps information about signal connections, etc. | |
| bool | setProperty (const char *namename, const QVariant &valuevalue) |
| Sets the value of the object's name property to value. | |
| bool | setProperty (const char *namename, QVariant &&valuevalue) |
| QVariant | property (const char *namename) const |
| Returns the value of the object's name property. | |
| QList< QByteArray > | dynamicPropertyNames () const |
| QBindingStorage * | bindingStorage () |
| const QBindingStorage * | bindingStorage () const |
| QObject * | parent () const |
| Returns a pointer to the parent object. | |
| bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. | |
Protected Member Functions | |
| void | forEachExistingNestedGroup (const std::function< void(QQStyleKitPropertyGroup *)> &ff) const override |
| Protected Member Functions inherited from QObject | |
| QObject * | sender () const |
| Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
| int | senderSignalIndex () const |
| int | receivers (const char *signal) const |
| Returns the number of receivers connected to the signal. | |
| bool | isSignalConnected (const QMetaMethod &signal) const |
| virtual void | timerEvent (QTimerEvent *eventevent) |
| This event handler can be reimplemented in a subclass to receive timer events for the object. | |
| virtual void | childEvent (QChildEvent *eventevent) |
| This event handler can be reimplemented in a subclass to receive child events. | |
| virtual void | customEvent (QEvent *eventevent) |
| This event handler can be reimplemented in a subclass to receive custom events. | |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
| QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Properties | |
| qreal | width |
| qreal | height |
| qreal | minimumWidth |
| qreal | minimumHeight |
| bool | fillWidth |
| bool | fillHeight |
| qreal | margins |
| qreal | leftMargin |
| qreal | rightMargin |
| qreal | topMargin |
| qreal | bottomMargin |
| Qt::Alignment | alignment |
| qreal | radius |
| qreal | topLeftRadius |
| qreal | topRightRadius |
| qreal | bottomLeftRadius |
| qreal | bottomRightRadius |
| qreal | scale |
| qreal | rotation |
| qreal | opacity |
| QColor | color |
| bool | visible |
| bool | clip |
| QQuickGradient * | gradient |
| QQStyleKitImageProperties * | image |
| QQStyleKitBorderProperties * | border |
| QQStyleKitShadowProperties * | shadow |
| QObject * | data |
| QQmlComponent * | delegate |
| Properties inherited from QObject | |
| QString | objectName |
| the name of this object | |
Additional Inherited Members | |
| Public Types inherited from QQStyleKitPropertyGroup | |
| enum class | EmitFlag { AllProperties , Colors } |
| Public Slots inherited from QObject | |
| void | deleteLater () |
| \threadsafe | |
| Static Public Member Functions inherited from QObject | |
| static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
| \threadsafe | |
| static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType typetype=Qt::AutoConnection) |
| template<typename Func1, typename Func2> | |
| static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType typetype=Qt::AutoConnection) |
| template<typename Func1, typename Func2> | |
| static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
| static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
| \threadsafe | |
| static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
| static bool | disconnect (const QMetaObject::Connection &) |
| Disconnects connection and resets it to \l{QMetaObject::Connection::operator bool()}{invalid}. | |
| static bool | disconnect (QMetaObject::Connection &) |
| static bool | disconnect (QMetaObject::Connection &&conn) |
| Disconnect a connection. | |
| template<typename Func1, typename Func2> | |
| static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
| template<typename Func1> | |
| static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
| Protected Attributes inherited from QQStyleKitPropertyGroup | |
| QQStyleKitPropertyGroupSpace | m_groupSpace |
| QQSK::PropertyPathFlags | m_pathFlags = QQSK::PropertyPathFlag::NoFlags |
| Protected Attributes inherited from QObject | |
| QScopedPointer< QObjectData > | d_ptr |
| Related Symbols inherited from QObject | |
| template< class T > T | qobject_cast (const QObject *objectobject) |
| Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
| template< typename T > T | qFindChildqFindChildren (const QObject *objobj, const QString &namename)() |
| template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *objobj, const QString &namename)() |
| QObjectList | |
| \macro Q_CLASSINFO(Name, Value) | |
Definition at line 234 of file qqstylekitcontrolproperties_p.h.
| QQStyleKitDelegateProperties::QQStyleKitDelegateProperties | ( | QQSK::PropertyGroup | group, |
| QQStyleKitControlProperties * | parent = nullptr ) |
Definition at line 1406 of file qqstylekitcontrolproperties.cpp.
| Qt::Alignment QQStyleKitDelegateProperties::alignment | ( | ) | const |
Definition at line 1643 of file qqstylekitcontrolproperties.cpp.
|
signal |
| QQStyleKitBorderProperties * QQStyleKitDelegateProperties::border | ( | ) | const |
Definition at line 1731 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::bottomLeftRadius | ( | ) | const |
Definition at line 1473 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::bottomMargin | ( | ) | const |
Definition at line 1632 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::bottomRightRadius | ( | ) | const |
Definition at line 1484 of file qqstylekitcontrolproperties.cpp.
|
signal |
| bool QQStyleKitDelegateProperties::clip | ( | ) | const |
Definition at line 1687 of file qqstylekitcontrolproperties.cpp.
|
signal |
| QColor QQStyleKitDelegateProperties::color | ( | ) | const |
Definition at line 1665 of file qqstylekitcontrolproperties.cpp.
|
signal |
|
signal |
| QObject * QQStyleKitDelegateProperties::data | ( | ) | const |
Definition at line 1709 of file qqstylekitcontrolproperties.cpp.
|
signal |
| QQmlComponent * QQStyleKitDelegateProperties::delegate | ( | ) | const |
Definition at line 1720 of file qqstylekitcontrolproperties.cpp.
|
signal |
| void QQStyleKitDelegateProperties::emitGlobally | ( | QQStyleKitExtendableControlType | controlType, |
| CHANGED_SIGNALS... | changedSignals ) const |
Definition at line 1412 of file qqstylekitcontrolproperties.cpp.
| bool QQStyleKitDelegateProperties::fillHeight | ( | ) | const |
Definition at line 1572 of file qqstylekitcontrolproperties.cpp.
|
signal |
| bool QQStyleKitDelegateProperties::fillWidth | ( | ) | const |
Definition at line 1561 of file qqstylekitcontrolproperties.cpp.
|
signal |
|
overrideprotectedvirtual |
Reimplemented from QQStyleKitPropertyGroup.
Reimplemented in QQStyleKitHandleProperties, QQStyleKitIndicatorProperties, and QQStyleKitIndicatorWithSubTypes.
Definition at line 1423 of file qqstylekitcontrolproperties.cpp.
| QQuickGradient * QQStyleKitDelegateProperties::gradient | ( | ) | const |
Definition at line 1698 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::height | ( | ) | const |
Definition at line 1528 of file qqstylekitcontrolproperties.cpp.
|
signal |
| QQStyleKitImageProperties * QQStyleKitDelegateProperties::image | ( | ) | const |
Definition at line 1741 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::leftMargin | ( | ) | const |
Definition at line 1599 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::margins | ( | ) | const |
Definition at line 1583 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::minimumHeight | ( | ) | const |
Definition at line 1550 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::minimumWidth | ( | ) | const |
Definition at line 1539 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::opacity | ( | ) | const |
Definition at line 1654 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::radius | ( | ) | const |
Definition at line 1435 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::rightMargin | ( | ) | const |
Definition at line 1610 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::rotation | ( | ) | const |
Definition at line 1506 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::scale | ( | ) | const |
Definition at line 1495 of file qqstylekitcontrolproperties.cpp.
|
signal |
| void QQStyleKitDelegateProperties::setAlignment | ( | Qt::Alignment | alignment | ) |
Definition at line 1648 of file qqstylekitcontrolproperties.cpp.
Definition at line 1478 of file qqstylekitcontrolproperties.cpp.
Definition at line 1637 of file qqstylekitcontrolproperties.cpp.
Definition at line 1489 of file qqstylekitcontrolproperties.cpp.
| void QQStyleKitDelegateProperties::setClip | ( | bool | clip | ) |
Definition at line 1692 of file qqstylekitcontrolproperties.cpp.
Definition at line 1670 of file qqstylekitcontrolproperties.cpp.
Definition at line 1714 of file qqstylekitcontrolproperties.cpp.
| void QQStyleKitDelegateProperties::setDelegate | ( | QQmlComponent * | delegate | ) |
Definition at line 1725 of file qqstylekitcontrolproperties.cpp.
| void QQStyleKitDelegateProperties::setFillHeight | ( | bool | fill | ) |
Definition at line 1577 of file qqstylekitcontrolproperties.cpp.
| void QQStyleKitDelegateProperties::setFillWidth | ( | bool | fill | ) |
Definition at line 1566 of file qqstylekitcontrolproperties.cpp.
| void QQStyleKitDelegateProperties::setGradient | ( | QQuickGradient * | gradient | ) |
Definition at line 1703 of file qqstylekitcontrolproperties.cpp.
Definition at line 1533 of file qqstylekitcontrolproperties.cpp.
Definition at line 1604 of file qqstylekitcontrolproperties.cpp.
Definition at line 1588 of file qqstylekitcontrolproperties.cpp.
Definition at line 1555 of file qqstylekitcontrolproperties.cpp.
Definition at line 1544 of file qqstylekitcontrolproperties.cpp.
Definition at line 1659 of file qqstylekitcontrolproperties.cpp.
Definition at line 1440 of file qqstylekitcontrolproperties.cpp.
Definition at line 1615 of file qqstylekitcontrolproperties.cpp.
Definition at line 1511 of file qqstylekitcontrolproperties.cpp.
Definition at line 1500 of file qqstylekitcontrolproperties.cpp.
Definition at line 1456 of file qqstylekitcontrolproperties.cpp.
Definition at line 1626 of file qqstylekitcontrolproperties.cpp.
Definition at line 1467 of file qqstylekitcontrolproperties.cpp.
| void QQStyleKitDelegateProperties::setVisible | ( | bool | visible | ) |
Definition at line 1681 of file qqstylekitcontrolproperties.cpp.
Definition at line 1522 of file qqstylekitcontrolproperties.cpp.
| QQStyleKitShadowProperties * QQStyleKitDelegateProperties::shadow | ( | ) | const |
Definition at line 1736 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::topLeftRadius | ( | ) | const |
Definition at line 1451 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::topMargin | ( | ) | const |
Definition at line 1621 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::topRightRadius | ( | ) | const |
Definition at line 1462 of file qqstylekitcontrolproperties.cpp.
|
signal |
| bool QQStyleKitDelegateProperties::visible | ( | ) | const |
Definition at line 1676 of file qqstylekitcontrolproperties.cpp.
|
signal |
| qreal QQStyleKitDelegateProperties::width | ( | ) | const |
Definition at line 1517 of file qqstylekitcontrolproperties.cpp.
|
signal |
|
readwrite |
Definition at line 248 of file qqstylekitcontrolproperties_p.h.
|
read |
Definition at line 262 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 252 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 247 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 253 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 259 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 257 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 264 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 265 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 242 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 241 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 260 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 238 of file qqstylekitcontrolproperties_p.h.
|
read |
Definition at line 261 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 244 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 243 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 240 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 239 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 256 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 249 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 245 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 255 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 254 of file qqstylekitcontrolproperties_p.h.
|
read |
Definition at line 263 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 250 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 246 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 251 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 258 of file qqstylekitcontrolproperties_p.h.
|
readwrite |
Definition at line 237 of file qqstylekitcontrolproperties_p.h.