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