Ví dụ này tạo ra một pixmap nhỏ từ các dữ liệu XPM bao gồm trong nguồn trên dòng 6. Kích thước thực sự của pixmap là bỏ qua, và nó được thiết lập như các pixmap nền trên dòng 13, kích thước của widget được thiết lập trên đường dây 14. Kết quả là cửa sổ hiển thị trong hình 9-2. | Chapter 14 Drag and Drop 351 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 include include include include int main int argc char argv KApplication app argc argv cutpaste CutPaste cutpaste new CutPaste cutpaste- show cutpaste return CutPaste CutPaste QWidget parent const char name QWidget parent name QPushButton button QHBoxLayout hlayout new QHBoxLayout this 5 QVBoxLayout vlayout new QVBoxLayout pixmap NULL button new QPushButton Load this connect button SIGNAL clicked this SLOT loadButton vlayout- addWidget button button new QPushButton Copy this connect button SIGNAL clicked this SLOT copyButton vlayout- addWidget button button new QPushButton Cut this connect button SIGNAL clicked this SLOT cutButton vlayout- addWidget button button new QPushButton Paste this connect button SIGNAL clicked this SLOT pasteButton vlayout- addWidget button widget new QWidget this widget- setFixedSize 257 303 widget- setBackgroundColor QColor white hlayout- addWidget widget hlayout- addLayout vlayout resize 10 10 hlayout- activate 352 Part II Step by Step 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 void CutPaste loadButton if pixmap NULL delete pixmap pixmap new QPixmap widget- setBackgroundPixmap pixmap void CutPaste copyButton if pixmap NULL QImage image pixmap- convertToImage QDragObject drag new QImageDrag image this QClipboard clipboard QApplication clipboard clipboard- setData drag void CutPaste cutButton if pixmap NULL copyButton widget- setBackgroundColor QColor white delete pixmap pixmap NULL void CutPaste pasteButton QClipboard clipboard QApplication clipboard QMimeSource mime clipboard- data QImage image if QImageDrag decode mime image QPixmap newPixmap new QPixmap if newPixmap- convertFromImage image if