Qt通过“动作”的概念简化了有关菜单和工具栏的编程。一个动作(action)就是一个可以添加到任意数量的菜单和工具栏上的项。在Qt中,创建菜单和工具栏包括以下这些步骤:
1.创建并且设置动作。
a.实例化QAction对象:
newAction = new QAction(tr("&New"), this);
b. 初始化对象:
newAction->setIcon(":/images/icon.png"); //设置动作的图标,图标文件名如下文所示包含在*.qrc的文件中
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/">
<file>images/icon.png</file>
<file>images/smiley.png</file>
<file>images/baifubao.png</file>
<file>images/tudou.png</file>
<file>images/icson.png</file>
</qresource>
</RCC>
newAction->setShortcut(QKeySequence::New); //设置快捷键
newAction->setStatusTip("New a file"); //设置光标在这个动作上时状态栏显示的信息
connect(newAction, SIGNAL(triggered()), this, SLOT(newFile())); //设置动作的行为,newFile()为自定义的槽
2.创建菜单并且把动作添加到菜单上。
a.添加菜单到菜单栏:
fileMenu = menuBar()->addMenu(tr("&File")); //添加File菜单到菜单栏
b.添加设置好的动作到菜单:
fileMenu->addAction(newAction)); //添加newAction动作到菜单中。
c.添加子菜单到菜单中(可选):
selectMenu = fileMenu->addMenu(tr("&Select")); //添加子菜单到菜单中
selectMenu->addAction(selectNoneAction); //添加selectNoneAction菜单到子菜单selectMenu中
3.添加工具栏
fileToolBar = addToolBar(tr("&File")); // 添加File工具栏
fileToolBar->addAction(newAction); //添加新建动作到File工具栏
exitToolBar = addToolBar(tr(&Exit)); //添加Exit工具栏
exitToolBar->addAction(exitAction); //添加exitAction动作到Exit工具栏
4.添加状态栏
locationLabel = new QLabel("Hello World"); // 新建状态栏显示部件(QLabel)
locationLabel->setAlignment(Qt::AlignHcenter); // 设置显示部件的显示方试
locationLabel->setMinimumSize(locationLabel->sizeHint()); //设置显示部件合适的最小尺寸
statusBar()->addWidget(locationLabel); //添加显示部件到状态栏
5.添加上下文菜单
this->addAction(newAction); //添加动作,this指定父窗口部件
this->addAction(exitAction);
this->setContextMenuPolicy(Qt::ActionsContextMenu); //设置上下文菜单,只有设置上下文菜单后,上下文菜单才会显示
QT主窗口创建菜单、工具栏和状态栏,添加上下文菜单
最新推荐文章于 2024-07-20 19:45:44 发布