首页 > 代码库 > QAction学习

QAction学习

Qt大类的层次:

QObject-》QWidget-》QMainWindow

QObject-》QWidget-》QDialog

QAction的操作是在QMainWindow上

可以将QAction 添加到QMenu上,也可以添加到QToolBar上。

如果添加到QMenu(菜单)上就会显示成一个菜单项,如果添加到QToolBar(工具条)上,就会显示成一个按钮

QAction类保存有关这个动作的信息,比如他的文本描述、图标、快捷键、回调函数等 。


下面举例子说明如何使用QAction

一、自身属性的设置

1、构造函数:   

newAct = new QAction(QIcon(":/images/new.png"), tr("&New"), this);

2、设置快捷键:

newAct->setShortcuts(QKeySequence::New);

3、设置状态提示信息,会在状态栏中显示出来
newAct->setStatusTip(tr("Create a new file"));

4、连接信号与槽:

connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));

二、完成槽函数:

void MainWindow::newFile()
{
    if (maybeSave()) {
        textEdit->clear();
        setCurrentFile("");
    }
}

三、添加到菜单中:

fileMenu->addAction(newAct);

这里fileMenu是一个QMenu对象

四、添加到工具条中:

fileToolBar->addAction(newAct);

这里fileToolBar是一个QToolBar对象。

这样这个newAct就能工作了。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

那么刚才说的菜单、工具条、状态栏是怎么设置的呢?

一、菜单栏的设置:

QMenu *fileMenu;

1、添加菜单

fileMenu = menuBar()->addMenu(tr("&file"));

2、添加QAction作为菜单项:

fileMenu->addAction(newAct);

二、工具栏的设置

QToolBar *fileToolBar;

1、添加工具栏:

fileToolBar = addToolBar(tr("File"));

2、添加QAction作为工具栏项:

fileToolBar->addAction(newAct);


QAction学习