Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Clipboard operations using Qt

From Wiki
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
Symbian
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 01:16.
174 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×