UID:402
UID:2
UID:3366
UID:452
#include <QLineEdit>class LineEdit : public QLineEdit{public: LineEdit(QWidget *parent = 0); ~LineEdit(void); enum { UndoAct, RedoAct, Sep1Act, CutAct, CopyAct, PasteAct, ClearAct, Sep2Act, SelectAllAct, NCountActs };private: void contextMenuEvent(QContextMenuEvent *event);};
#include "lineedit.h"#include <QList>#include <QAction>#include <QContextMenuEvent>#include <QMenu>LineEdit::LineEdit(QWidget *parent):QLineEdit(parent){}LineEdit::~LineEdit(void){}void LineEdit::contextMenuEvent(QContextMenuEvent *event){ QMenu *menu = createStandardContextMenu(); QList<QAction *> actList = menu->actions(); actList[UndoAct]->setText(QString::fromLocal8Bit("撤销(&U)")); actList[RedoAct]->setText(QString::fromLocal8Bit("重复(&R)")); actList[CutAct]->setText(QString::fromLocal8Bit("剪切(&T)")); actList[CopyAct]->setText(QString::fromLocal8Bit("复制(&C)")); actList[PasteAct]->setText(QString::fromLocal8Bit("粘帖(&P)")); actList[ClearAct]->setText(QString::fromLocal8Bit("删除")); actList[SelectAllAct]->setText(QString::fromLocal8Bit("全选")); //... menu->exec(event->globalPos()); delete menu;}