Namespaces
Variants
Actions

Clipboard operations using Qt

Jump to: navigation, search

The Qt clipboard offers a simple mechanism to copy and paste data between different applications or between the same widget in am application. QClipboard supports the same data types as QDrag, and uses similar mechanisms.

Article Metadata

Tested with
Devices(s): S60 for Emulator

Compatibility
Platform(s): S60 3rd Edition, FP1, FP2
S60 5th Edition

Article
Keywords: QClipboard
Created: mind_freak (09 Jul 2009)
Last edited: hamishwillee (11 Oct 2012)

Contents

Source code

Note: This code is used only to copy the text content, code for MIME data is shown later in this section.

Header File

#ifndef BOARD_H
#define BOARD_H
 
#include <QtGui/QWidget>
#include<QClipboard>
#include<QString>
#include<QLineEdit>
#include<QPushButton>
#include<QVBoxLayout>
#include<QApplication>
#include<QMessageBox>
class board : public QWidget
{
Q_OBJECT
 
public:
board(QWidget *parent = 0);
~board();
private slots:
void copy();
void paste();
private:
QLineEdit *edit;
QPushButton *but;
QPushButton *but1;
QLineEdit *edit1;
QVBoxLayout *lay;
QClipboard *cb;
QString str;
QString str1;
QMessageBox *box;
 
 
};
 
#endif // BOARD_H

Source File

#include "board.h"
 
board::board(QWidget *parent)
: QWidget(parent)
{
 
edit=new QLineEdit();
 
box=new QMessageBox(this);
but=new QPushButton(tr("Copy"),this);
but1=new QPushButton(tr("Paste"),this);
edit1=new QLineEdit(this);
 
lay=new QVBoxLayout(this);
cb=QApplication::clipboard();
setStyleSheet("* { background-color:rgb(0,0,0);color:rgb(255,255,255); padding: 7px}}");
QObject::connect(but,SIGNAL(clicked()),this,SLOT(copy()));
QObject::connect(but1,SIGNAL(clicked()),this,SLOT(paste()));
lay->addWidget(edit);
lay->addWidget(but);
lay->addWidget(but1);
lay->addWidget(edit1);
 
 
setLayout(lay);
showMaximized();
 
}
 
board::~board()
{
// No need to delete any object that got a parent that is properly deleted.
}
void board::copy()
{
 
str=edit->text();
cb->setText(str);//Text copied to clipboard
box->setText("Text copied to clipboard");
box->exec();
 
 
}
void board::paste()
{
str1=cb->text();//text reterived from clipboard
edit1->setText(str1);
}

Advance clipboard(MIME data manipulation)

  • Copying of MIME data
void board::copy()
{
QApplication::clipboard()->setData(dragObject());
}
  • Pasting of MIME data
void MyTable::paste()
{
QMimeSource *source = QApplication::clipboard()->data();
if (CellDrag::canDecode(source)) {
QString str;
CellDrag::decode(source, str);
performPaste(str);
}
}

Screenshots

Clipboard1.JPG

Clipboard2.JPG

This page was last modified on 11 October 2012, at 04:16.
324 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved