Qt菜单栏的制作
来源:互联网 发布:财付通软件下载 编辑:程序博客网 时间:2024/04/28 19:57
窗口的中菜单栏,工具条,状态栏等都是在QMainWindow的类中设置的,QMainWindow继承了了QWidget类。
如果想要在窗口中加入菜单栏,工具条等,就要定义一个继承QMainWindow的类。
#include <QMenu>
#include <QAction>
#include <QMainWindow>
#include <QToolBar>
#include "MainBoard.h"
class MyMainWindow:public QMainWindow //继承了QMainWindow
{
Q_OBJECT
public:
MyMainWindow();
void creatAction();
void creatMenu();
void creatToolbar();
private:
QMenu *Game, *Options, *Help;
QAction *newgame, *quitgame, *fight, *start, *pause, *jumpover;
QAction *gamehelp, *aboutgame, *setting;
QtoolBar *toolbar;
MainBoard *mainboard;
public slots:
};
MyMainWindow::MyMainWindow()
{
mainboard = new MainBoard; //这个是窗口中的主体部件
setCentralWidget(mainboard); //加入这个部件
creatAction(); //创建Action
creatMenu(); //创建菜单
creatToolbar(); //创建工具栏
}
void MyMainWindow::creatAction()
{
newgame = new QAction("&New Game",this);
newgame -> setIcon(QIcon("newgame.png"));
newgame -> setShortcut(QKeySequence::New);
connect(newgame,SIGNAL(triggered()),mainboard,SIGNAL(restartSIG()));
}
void MyMainWindow::creatMenu()
{
Game = menuBar() -> addMenu("&Game");
Game -> addAction(newgame);
}
Void MyMainWindow::creatToolbar()
{
toolbar = addToolBar(“&Game”);
toolbar -> addAction(newgame);
toolbar -> addSeparator();
}
分析:
QAction是创建动作
QMenu 是创建菜单
可以把Action加入到Menu,也可以把Action加入到工具栏。
newgame = new QAction("&New Game",this);
“&New Game”是Action的名称,一定要加&, this也一定要加上
newgame -> setIcon(QIcon("newgame.png"));
这个设置图标,格式为.png
newgame -> setShortcut(QKeySequence::New);
设置快捷键,在QKeySequence中有一个表,列出所有的快捷键,想用哪个快捷键,就把前面的名称加到:: 后面
connect(newgame,SIGNAL(triggered()),mainboard,SIGNAL(restartSIG()));
这个Action的动作,发出一个triggered信号。
创建菜单:
Game = menuBar() -> addMenu("&Game");
Game -> addAction(newgame);
在qt中,菜单(Menu)被认为是QMenu类的实例。本例中,addMenu()函数利用其实参字符串创建一个QMenu控件并将其添加至菜单栏。QMainWindow::menuBar()函数返回一个指向QMenuBar的指针,首次调用menuBar()函数时创建菜单栏。
要向菜单中加入Action,用addAction();
创建工具栏用QToolBar,与创建菜单栏非常相似
Toolbar = addToolBar(“&Game”);
Toolbar -> addAction(negame);
创建工具栏,加入Action
Toolbar -> addSeparator();
工具栏可以加分割线
- Qt菜单栏的制作
- 菜单栏的制作
- 菜单栏的制作
- 菜单栏的制作
- Qt-菜单栏
- QT中三种构建菜单栏的方法
- QT 菜单栏 工具栏 Qaction的创建
- CSS 制作菜单栏
- 导航菜单栏制作
- Unity3d制作菜单栏
- qt字体库的制作
- QT工具栏的制作
- 纯CSS制作的二级导航菜单栏(通过变化菜单栏的样式实现)
- Qt从零开始制作串口调试助手-(第三章、菜单栏和工具栏添加)-Creator_Ly
- QT工具栏和菜单栏
- QT菜单栏,工具栏
- Qt 菜单栏自定义
- QT生成右键菜单栏
- 绘图成直线原因(纠正)
- 菜单和其他资源(2)之创建自己的菜单
- oracle数据库字符集设置
- qt修改光标
- QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数
- Qt菜单栏的制作
- 为什么程序员不擅长估算时间?
- qt的弹出式菜单
- 在大连做安天技术论坛 GuessMe6
- 动态更改QToolButton的图标
- 用JAVA执行语句sql语句
- Windows时间同步设置
- awk命令
- 前端框架你究竟选什么