blob: 4ed0c81f7f70cae6f6ab19e48215963d0c8c66d3 (
plain)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | // Copyright (C) 2016 The Qt Company Ltd.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause#include <QtWidgets>#include <QMimeData>#include"clipwindow.h"ClipWindow::ClipWindow(QWidget *parent):QMainWindow(parent){ clipboard =QApplication::clipboard(); QWidget *centralWidget =newQWidget(this); QWidget *currentItem =newQWidget(centralWidget); QLabel *mimeTypeLabel =newQLabel(tr("MIME types:"), currentItem); mimeTypeCombo =newQComboBox(currentItem); QLabel *dataLabel =newQLabel(tr("Data:"), currentItem); dataInfoLabel =newQLabel("", currentItem); previousItems =newQListWidget(centralWidget);//! [0]connect(clipboard, &QClipboard::dataChanged,this, &ClipWindow::updateClipboard);//! [0] QVBoxLayout *currentLayout =newQVBoxLayout(currentItem); currentLayout->addWidget(mimeTypeLabel); currentLayout->addWidget(mimeTypeCombo); currentLayout->addWidget(dataLabel); currentLayout->addWidget(dataInfoLabel); currentLayout->addStretch(1); QHBoxLayout *mainLayout =newQHBoxLayout(centralWidget); mainLayout->addWidget(currentItem,1); mainLayout->addWidget(previousItems);setCentralWidget(centralWidget);setWindowTitle(tr("Clipboard"));}//! [1]voidClipWindow::updateClipboard(){ mimeTypeCombo->clear(); QStringList formats = clipboard->mimeData()->formats();if(formats.isEmpty())return;for(constauto&format : formats) { QByteArray data = clipboard->mimeData()->data(format);// ...}//! [1] mimeTypeCombo->addItems(formats);int size = clipboard->mimeData()->data(formats[0]).size(); QListWidgetItem *newItem =newQListWidgetItem(previousItems); newItem->setText(tr("%1 (%2 bytes)").arg(formats[0]).arg(size));updateData(formats[0]);}voidClipWindow::updateData(const QString &format){ QByteArray data = clipboard->mimeData()->data(format); dataInfoLabel->setText(tr("%1 bytes").arg(data.size()));}
|