• 7697阅读
  • 6回复

[提问]【提问】怎样使控件的右键弹出菜单中文化 [复制链接]

上一主题 下一主题
离线girl2008
 
只看楼主 倒序阅读 楼主  发表于: 2005-09-10
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
用最简单的方法哦~!
[ 此贴被XChinux在2005-09-10 13:46重新编辑 ]
离线girl2008
只看该作者 1楼 发表于: 2005-09-10
补充一句我用的是QT/E-2.3.7,嘻嘻
离线XChinux

只看该作者 2楼 发表于: 2005-09-10
哈哈,你的那个版本我是使用不上。我用Qt 4.0.0参考源代码处理的,你看看:
从QLineEdit继承一个新类,然后在这个类里把contextMenuEvent自定义了。
头文件:
lineedit.h

#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);
};

lineedit.cpp

#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;
}
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线bekiebeck
只看该作者 3楼 发表于: 2005-09-26
斑竹是否是过该段程序能否正确显示中文?谢谢。最近,qT4下面我右键菜单中文总是显示乱码:(
离线XChinux

只看该作者 4楼 发表于: 2005-09-26
首先要确定源代码文件要使用的是GB编码才行.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线yfx2003

只看该作者 5楼 发表于: 2008-07-02
GBK

版主在 美容院系统 中使用了UTF-8编码,好嘛,折腾了我许久,愣是乱码
www.qtcn.org/gpq4/
ajaxref.okajax.com/
离线XChinux

只看该作者 6楼 发表于: 2008-07-02
为了与WEB程序统一,所以都使用了UTF-8,
现在看起来如果用MSVC编译问题一大堆。如果实在要用MSVC,那就只有转成GBK了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个