关于QT中某些类的问题
大家好,我最近在参考Linux窗口程序设计—Qt4精彩实例分析上面的例子,在menu下添加按钮时用到了addAction,文章中用的方式是addAction(fileOpenAction),其中fileOpenAction是QAction*类型的,出现的问题是:qmenu.h中声明的addAction压根就没有以QAction*类型做参数的?这是什么原因啊?我使用的是天嵌提供的QT4.5的qt creator做的,谢谢! 本帖最后由 TQ-lkp 于 2012-10-27 18:01 编辑
qmenu.h中的定义
void addAction ( QAction * action )
例子:
openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this);
openAct->setShortcuts(QKeySequence::Open);
openAct->setStatusTip(tr("Open an existing file"));
connect(openAct, SIGNAL(triggered()), this, SLOT(open()));
fileMenu->addAction(openAct);
fileToolBar->addAction(openAct);
TQ-lkp 发表于 2012-10-27 18:00 static/image/common/back.gif
qmenu.h中的定义
void addAction ( QAction * action )
例子:
但是我在这个头文件下没有找到这个定义啊,跟版本有关系吗?我用的都是天嵌提供的 啊 TQ-lkp 发表于 2012-10-27 18:00 static/image/common/back.gif
qmenu.h中的定义
void addAction ( QAction * action )
例子:
我在我的这个qmenu.h文件中找到的关于addAction的定义就下面几个:
QAction *addAction(const QString &text);
QAction *addAction(const QIcon &icon, const QString &text);
QAction *addAction(const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut = 0);
QAction *addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut = 0);
没有你说的这个:(
本帖最后由 TQ-lkp 于 2012-10-29 11:14 编辑
qmenu.h
#ifdef Q_NO_USING_KEYWORD
inline void addAction(QAction *action) { QWidget::addAction(action); }
#else
using QWidget::addAction;
#endif
QAction *addAction(const QString &text);
QAction *addAction(const QIcon &icon, const QString &text);
QAction *addAction(const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut = 0);
QAction *addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut = 0);
测试通过的例子:
QMenu *file = menuBar()->addMenu(trUtf8("文件"));
QAction *newAct = new QAction(trUtf8("新建"), this);
newAct->setShortcuts(QKeySequence::New);
newAct->setStatusTip(trUtf8("新建文件"));
connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));
file->addAction(newAct);
页:
[1]