QMainWindow学习

来源:互联网 发布:奇迹暖暖 网络连接失败 编辑:程序博客网 时间:2024/05/01 00:43
如何给工具栏上按钮添加图标
在Qt Creator中新建一个Qt Resource file
在Add下拉菜单中选择Add Prefix,表示添加一个前缀,这里我们将默认的/new/prefix修改为/,
然后在Add下拉菜单中选择Add File,表示将图片添加进来,我们可以在工程目录下新建一个目录,比如images,专门用于存放图片。
我们在创建QAction的同时就为这个action添加一个图标,例如
newAct = new QAction(tr("new"), this);
newAct->setIcon(QIcon(":/images/new.png"));
或者在QAction的构造函数中就可以完成
newAct = new QAction(QIcon(":/images/new.png"), tr("new"), this);

同时我们将菜单栏和工具栏添加完整,这里就不详细介绍了,大家自行完成,这里只是给大家列举出来
fileMenu中的action还有exportpdfAct, quitAct。
同时新增一个菜单栏editMenu和一个工具栏editToolBar,里面的action有cutAct, copyAct, pasteAct, undoAct, redoAct, colorAct。
新增一个帮助菜单helpMenu,action有aboutAct。
图标也请大家自行添加完整。

给这些选项设置快捷键
前面是通过&符号来添加的快捷键,比如&File,快捷键为Alt + F,但是这样有个缺点,我要是给copy设置一个快捷键怎么办,如果还是这种方法的话,那快捷键就是Alt + C,而不是我们通常用的Ctrl + C,这里使用QAction的setShortcut函数就可以实现。还有一点就是我们的平台支持一些标准的快捷键,我们可以直接拿来使用,如果不支持的话,那我们再自行设计,还有就是有些平台支持,有些平台不支持,为了移植,我们最好还是自行设计,大家可以去参考QKeySequence类,里面对于平台支持的快捷键有详细说明。
还是举一个例子
newAct->setShortcut(QKeySequence::New);
这里的 QkeySequence::New在平台上就是定义的Ctrl + N
我们也可以自己使用Ctrl + N
newAct->setShortcut(Qt::CTRL + Qt::Key_N);
效果是一样的。
最后还有一点,我们的程序还没有给用户提供一个文本输入的编辑框,刚开始只是为了测试,给Central Widget加了一个label,那么现在就来做这个工作
首先我们在类中定义一个多行编辑框的成员变量
QTextEdit *textEdit;
最后还是别忘了加上这个类的前置声明
然后在构造函数中创建这个编辑框,并将这个编辑框设置成Central Widget
textEdit = new QTextEdit(this); 
setCentralWidget(textEdit);
现在看看是不是有了记事本的影子,只是我们工具栏的按钮现在是不能点击的。
0 0
原创粉丝点击