Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QClipboard Class Reference

The QClipboard class provides access to the window system clipboard. More...

#include <qclipboard.h>

+ Inheritance diagram for QClipboard:
+ Collaboration diagram for QClipboard:

Public Types

enum  Mode { Clipboard , Selection , FindBuffer , LastMode = FindBuffer }
 \keyword clipboard mode More...
 

Signals

void changed (QClipboard::Mode mode)
 
void selectionChanged ()
 This signal is emitted when the selection is changed.
 
void findBufferChanged ()
 
void dataChanged ()
 This signal is emitted when the clipboard data is changed.
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

void clear (Mode mode=Clipboard)
 Clear the clipboard contents.
 
bool supportsSelection () const
 Returns true if the clipboard supports mouse selection; otherwise returns false.
 
bool supportsFindBuffer () const
 Returns true if the clipboard supports a separate search buffer; otherwise returns false.
 
bool ownsSelection () const
 Returns true if this clipboard object owns the mouse selection data; otherwise returns false.
 
bool ownsClipboard () const
 Returns true if this clipboard object owns the clipboard data; otherwise returns false.
 
bool ownsFindBuffer () const
 
QString text (Mode mode=Clipboard) const
 Returns the clipboard text as plain text, or an empty string if the clipboard does not contain any text.
 
QString text (QString &subtype, Mode mode=Clipboard) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns the clipboard text in subtype subtype, or an empty string if the clipboard does not contain any text.
 
void setText (const QString &, Mode mode=Clipboard)
 Copies text into the clipboard as plain text.
 
const QMimeDatamimeData (Mode mode=Clipboard) const
 Returns a pointer to a QMimeData representation of the current clipboard data (can be \nullptr if the given mode is not supported by the platform).
 
void setMimeData (QMimeData *data, Mode mode=Clipboard)
 Sets the clipboard data to src.
 
QImage image (Mode mode=Clipboard) const
 Returns the clipboard image, or returns a null image if the clipboard does not contain an image or if it contains an image in an unsupported image format.
 
QPixmap pixmap (Mode mode=Clipboard) const
 Returns the clipboard pixmap, or null if the clipboard does not contain a pixmap.
 
void setImage (const QImage &, Mode mode=Clipboard)
 Copies the image into the clipboard.
 
void setPixmap (const QPixmap &, Mode mode=Clipboard)
 Copies pixmap into the clipboard.
 
- 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 *event)
 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 &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
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 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).
 
QThreadthread () 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 id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename 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 >
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 QObjectListchildren () 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 *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=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 *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () 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.
 

Friends

class QApplication
 
class QApplicationPrivate
 
class QGuiApplication
 
class QBaseApplication
 
class QDragManager
 
class QPlatformClipboard
 

Additional Inherited Members

- 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 type=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 type=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 &)
 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 Member Functions inherited from QObject
QObjectsender () 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 *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 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)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Detailed Description

The QClipboard class provides access to the window system clipboard.

\inmodule QtGui

The clipboard offers a simple mechanism to copy and paste data between applications.

QClipboard supports the same data types that QDrag does, and uses similar mechanisms. For advanced clipboard usage read \l{Drag and Drop}.

There is a single QClipboard object in an application, accessible as QGuiApplication::clipboard().

Example:

QString originalText = clipboard->text();
// etc.
clipboard->setText(newText);

QClipboard features some convenience functions to access common data types: setText() allows the exchange of Unicode text and setPixmap() and setImage() allows the exchange of QPixmaps and QImages between applications. The setMimeData() function is the ultimate in flexibility: it allows you to add any QMimeData into the clipboard. There are corresponding getters for each of these, e.g. text(), image() and pixmap(). You can clear the clipboard by calling clear().

A typical example of the use of these functions follows:

{
const QClipboard *clipboard = QApplication::clipboard();
const QMimeData *mimeData = clipboard->mimeData();
if (mimeData->hasImage()) {
setPixmap(qvariant_cast<QPixmap>(mimeData->imageData()));
} else if (mimeData->hasHtml()) {
} else if (mimeData->hasText()) {
} else {
setText(tr("Cannot display data"));
}
}

Definition at line 19 of file qclipboard.h.

Member Enumeration Documentation

◆ Mode

\keyword clipboard mode

This enum type is used to control which part of the system clipboard is used by QClipboard::mimeData(), QClipboard::setMimeData() and related functions.

\value Clipboard indicates that data should be stored and retrieved from the global clipboard.

\value Selection indicates that data should be stored and retrieved from the global mouse selection. Support for Selection is provided only on systems with a global mouse selection (e.g. X11).

\value FindBuffer indicates that data should be stored and retrieved from the Find buffer. This mode is used for holding search strings on \macos.

\omitvalue LastMode

See also
QClipboard::supportsSelection()
Enumerator
Clipboard 
Selection 
FindBuffer 
LastMode 

Definition at line 27 of file qclipboard.h.

Member Function Documentation

◆ changed

void QClipboard::changed ( QClipboard::Mode mode)
signal
Since
4.2

This signal is emitted when the data for the given clipboard mode is changed.

See also
dataChanged(), selectionChanged(), findBufferChanged()

◆ clear()

void QClipboard::clear ( Mode mode = Clipboard)

Clear the clipboard contents.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, this function clears the global clipboard contents. If mode is QClipboard::Selection, this function clears the global mouse selection contents. If mode is QClipboard::FindBuffer, this function clears the search string buffer.

See also
QClipboard::Mode, supportsSelection()

Definition at line 464 of file qclipboard.cpp.

References setMimeData().

+ Here is the call graph for this function:

◆ dataChanged

void QClipboard::dataChanged ( )
signal

This signal is emitted when the clipboard data is changed.

On \macos and with Qt version 4.3 or higher, clipboard changes made by other applications will only be detected when the application is activated.

See also
findBufferChanged(), selectionChanged(), changed()

Referenced by ClipWindow::ClipWindow().

+ Here is the caller graph for this function:

◆ findBufferChanged

void QClipboard::findBufferChanged ( )
signal
Since
4.2

This signal is emitted when the find buffer is changed. This only applies to \macos.

With Qt version 4.3 or higher, clipboard changes made by other applications will only be detected when the application is activated.

See also
dataChanged(), selectionChanged(), changed()

◆ image()

QImage QClipboard::image ( Mode mode = Clipboard) const

Returns the clipboard image, or returns a null image if the clipboard does not contain an image or if it contains an image in an unsupported image format.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the image is retrieved from the global clipboard. If mode is QClipboard::Selection, the image is retrieved from the global mouse selection.

See also
setImage(), pixmap(), mimeData(), QImage::isNull()

Definition at line 317 of file qclipboard.cpp.

References mimeData.

◆ mimeData()

const QMimeData * QClipboard::mimeData ( Mode mode = Clipboard) const

Returns a pointer to a QMimeData representation of the current clipboard data (can be \nullptr if the given mode is not supported by the platform).

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the data is retrieved from the global clipboard. If mode is QClipboard::Selection, the data is retrieved from the global mouse selection. If mode is QClipboard::FindBuffer, the data is retrieved from the search string buffer.

The text(), image(), and pixmap() functions are simpler wrappers for retrieving text, image, and pixmap data.

Note
The pointer returned might become invalidated when the contents of the clipboard changes; either by calling one of the setter functions or externally by the system clipboard changing.
See also
setMimeData()

Definition at line 412 of file qclipboard.cpp.

References QPlatformClipboard::mimeData(), QGuiApplicationPrivate::platformIntegration(), and QPlatformClipboard::supportsMode().

Referenced by droparea::DropArea::paste(), ClipWindow::updateClipboard(), and ClipWindow::updateData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ownsClipboard()

bool QClipboard::ownsClipboard ( ) const

Returns true if this clipboard object owns the clipboard data; otherwise returns false.

Definition at line 491 of file qclipboard.cpp.

References Clipboard.

◆ ownsFindBuffer()

bool QClipboard::ownsFindBuffer ( ) const
Since
4.2

Returns true if this clipboard object owns the find buffer data; otherwise returns false.

Definition at line 511 of file qclipboard.cpp.

References FindBuffer.

◆ ownsSelection()

bool QClipboard::ownsSelection ( ) const

Returns true if this clipboard object owns the mouse selection data; otherwise returns false.

Definition at line 500 of file qclipboard.cpp.

References Selection.

◆ pixmap()

QPixmap QClipboard::pixmap ( Mode mode = Clipboard) const

Returns the clipboard pixmap, or null if the clipboard does not contain a pixmap.

Note that this can lose information. For example, if the image is 24-bit and the display is 8-bit, the result is converted to 8 bits, and if the image has an alpha channel, the result just has a mask.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the pixmap is retrieved from the global clipboard. If mode is QClipboard::Selection, the pixmap is retrieved from the global mouse selection.

See also
setPixmap(), image(), mimeData(), QPixmap::convertFromImage()

Definition at line 362 of file qclipboard.cpp.

References mimeData.

◆ selectionChanged

void QClipboard::selectionChanged ( )
signal

This signal is emitted when the selection is changed.

This only applies to windowing systems that support selections, e.g. X11. Windows and \macos don't support selections.

See also
dataChanged(), findBufferChanged(), changed()

◆ setImage()

void QClipboard::setImage ( const QImage & image,
Mode mode = Clipboard )

Copies the image into the clipboard.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the image is stored in the global clipboard. If mode is QClipboard::Selection, the data is stored in the global mouse selection.

This is shorthand for:

See also
image(), setPixmap(), setMimeData()

Definition at line 340 of file qclipboard.cpp.

References QMimeData::setImageData(), and setMimeData().

+ Here is the call graph for this function:

◆ setMimeData()

void QClipboard::setMimeData ( QMimeData * src,
Mode mode = Clipboard )

Sets the clipboard data to src.

Ownership of the data is transferred to the clipboard. If you want to remove the data either call clear() or call setMimeData() again with new data.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the data is stored in the global clipboard. If mode is QClipboard::Selection, the data is stored in the global mouse selection. If mode is QClipboard::FindBuffer, the data is stored in the search string buffer.

The setText(), setImage() and setPixmap() functions are simpler wrappers for setting text, image and pixmap data respectively.

See also
mimeData()

Definition at line 438 of file qclipboard.cpp.

References QGuiApplicationPrivate::platformIntegration(), qDebug, QPlatformClipboard::setMimeData(), and QPlatformClipboard::supportsMode().

Referenced by clear(), QWidgetTextControlPrivate::setClipboardSelection(), setImage(), setPixmap(), setText(), and src_gui_kernel_qclipboard::wrapper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setPixmap()

void QClipboard::setPixmap ( const QPixmap & pixmap,
Mode mode = Clipboard )

Copies pixmap into the clipboard.

Note that this is slower than setImage() because it needs to convert the QPixmap to a QImage first.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the pixmap is stored in the global clipboard. If mode is QClipboard::Selection, the pixmap is stored in the global mouse selection.

See also
pixmap(), setImage(), setMimeData()

Definition at line 381 of file qclipboard.cpp.

References pixmap, QMimeData::setImageData(), and setMimeData().

+ Here is the call graph for this function:

◆ setText()

void QClipboard::setText ( const QString & text,
Mode mode = Clipboard )

Copies text into the clipboard as plain text.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the text is stored in the global clipboard. If mode is QClipboard::Selection, the text is stored in the global mouse selection. If mode is QClipboard::FindBuffer, the text is stored in the search string buffer.

See also
text(), setMimeData()

Definition at line 297 of file qclipboard.cpp.

References setMimeData(), QMimeData::setText(), and text.

Referenced by src_gui_kernel_qclipboard::wrapper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ supportsFindBuffer()

bool QClipboard::supportsFindBuffer ( ) const

Returns true if the clipboard supports a separate search buffer; otherwise returns false.

Definition at line 482 of file qclipboard.cpp.

References FindBuffer.

◆ supportsSelection()

bool QClipboard::supportsSelection ( ) const

Returns true if the clipboard supports mouse selection; otherwise returns false.

Definition at line 473 of file qclipboard.cpp.

References Selection.

Referenced by QWidgetTextControlPrivate::setClipboardSelection().

+ Here is the caller graph for this function:

◆ text() [1/2]

QString QClipboard::text ( Mode mode = Clipboard) const

Returns the clipboard text as plain text, or an empty string if the clipboard does not contain any text.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the text is retrieved from the global clipboard. If mode is QClipboard::Selection, the text is retrieved from the global mouse selection. If mode is QClipboard::FindBuffer, the text is retrieved from the search string buffer.

See also
setText(), mimeData()

Definition at line 279 of file qclipboard.cpp.

References mimeData.

Referenced by src_gui_kernel_qclipboard::wrapper().

+ Here is the caller graph for this function:

◆ text() [2/2]

QString QClipboard::text ( QString & subtype,
Mode mode = Clipboard ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns the clipboard text in subtype subtype, or an empty string if the clipboard does not contain any text.

If subtype is null, any subtype is acceptable, and subtype is set to the chosen subtype.

The mode argument is used to control which part of the system clipboard is used. If mode is QClipboard::Clipboard, the text is retrieved from the global clipboard. If mode is QClipboard::Selection, the text is retrieved from the global mouse selection.

Common values for subtype are "plain" and "html".

Note that calling this function repeatedly, for instance from a key event handler, may be slow. In such cases, you should use the dataChanged() signal instead.

See also
setText(), mimeData()

Definition at line 235 of file qclipboard.cpp.

References QByteArray::data(), QStringDecoder::decode(), QStringConverter::encodingForData(), QString::isEmpty(), mimeData, QString::sliced(), and QStringConverter::Utf8.

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ QApplication

friend class QApplication
friend

Definition at line 57 of file qclipboard.h.

◆ QApplicationPrivate

friend class QApplicationPrivate
friend

Definition at line 58 of file qclipboard.h.

◆ QBaseApplication

friend class QBaseApplication
friend

Definition at line 60 of file qclipboard.h.

◆ QDragManager

friend class QDragManager
friend

Definition at line 61 of file qclipboard.h.

◆ QGuiApplication

friend class QGuiApplication
friend

Definition at line 59 of file qclipboard.h.

◆ QPlatformClipboard

friend class QPlatformClipboard
friend

Definition at line 62 of file qclipboard.h.


The documentation for this class was generated from the following files: