http://devbean.blog.51cto.com/448512/292229/
- #ifndef CLIPBOARDDEMO_H
- #define CLIPBOARDDEMO_H
- #include <QtGui/QWidget>
- class ClipboardDemo : public QWidget
- {
- Q_OBJECT
- public:
- ClipboardDemo(QWidget *parent = 0);
- private slots:
- void setClipboard();
- void getClipboard();
- };
- #endif // CLIPBOARDDEMO_H
- #include <QtGui>
- #include "clipboarddemo.h"
- ClipboardDemo::ClipboardDemo(QWidget *parent)
- : QWidget(parent)
- {
- QVBoxLayout *mainLayout = new QVBoxLayout(this);
- QHBoxLayout *northLayout = new QHBoxLayout;
- QHBoxLayout *southLayout = new QHBoxLayout;
- QTextEdit *editor = new QTextEdit;
- QLabel *label = new QLabel;
- label->setText("Text Input: ");
- label->setBuddy(editor);
- QPushButton *copyButton = new QPushButton;
- copyButton->setText("Set Clipboard");
- QPushButton *pasteButton = new QPushButton;
- pasteButton->setText("Get Clipboard");
- northLayout->addWidget(label);
- northLayout->addWidget(editor);
- southLayout->addWidget(copyButton);
- southLayout->addWidget(pasteButton);
- mainLayout->addLayout(northLayout);
- mainLayout->addLayout(southLayout);
- connect(copyButton, SIGNAL(clicked()), this, SLOT(setClipboard()));
- connect(pasteButton, SIGNAL(clicked()), this, SLOT(getClipboard()));
- }
- void ClipboardDemo::setClipboard()
- {
- QClipboard *board = QApplication::clipboard();
- board->setText("Text from Qt Application");
- }
- void ClipboardDemo::getClipboard()
- {
- QClipboard *board = QApplication::clipboard();
- QString str = board->text();
- QMessageBox::information(NULL, "From clipboard", str);
- }
- #include "clipboarddemo.h"
- #include <QtGui>
- #include <QApplication>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- ClipboardDemo w;
- w.show();
- return a.exec();
- }
- void ClipboardDemo::setClipboard()
- {
- QClipboard *board = QApplication::clipboard();
- board->setText("Text from Qt Application");
- }
- void ClipboardDemo::getClipboard()
- {
- QClipboard *board = QApplication::clipboard();
- QString str = board->text();
- QMessageBox::information(NULL, "From clipboard", str);
- }
- void MyTextEditor::mouseReleaseEvent(QMouseEvent *event)
- {
- QClipboard *clipboard = QApplication::clipboard();
- if (event->button() == Qt::MidButton
- && clipboard->supportsSelection()) {
- QString text = clipboard->text(QClipboard::Selection);
- pasteText(text);
- }
- }