Qt学习之五: 添加动作与资源文件
来源:互联网 发布:杨幂睡小鲜肉知乎 编辑:程序博客网 时间:2024/06/05 00:43
一、添加动作
在主窗口的基础上,添加菜单和工具栏等动作。Qt使用QAction类作为动作。 QAction 包含了图标、菜单文字、快捷键、状态栏文字、浮动帮助等信息。
Tips:
(1) QObject::tr()函数:被它处理的字符串可以使用工具提取出来翻译成其他语言,被用于国际化使用。
(2) 字符串中的快捷键的设置的含义:”&Open”
(3) sizeHint()函数:得到Qt为widget推荐的Height。
C++代码:
mainwindow.h:
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow();private: Ui::MainWindow *ui; void open(); //定义私有函数open() QAction *openAction;//定义私有变量};#endif // MAINWINDOW_H
mainwindow.cpp:
#include "mainwindow.h"#include "ui_mainwindow.h"#include <QAction>#include <QMenuBar>#include <QMessageBox>#include <QStatusBar>#include <QToolBar>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); openAction = new QAction(QIcon(":/images/open.png"),tr("&Open..."),this); openAction->setShortcuts(QKeySequence::Open); openAction->setStatusTip(tr("Open an existing file")); connect(openAction,&QAction::triggered,this,&MainWindow::open); QMenu *file = menuBar()->addMenu(tr("&File")); file->addAction(openAction); QToolBar *toolBar = addToolBar(tr("&File")); toolBar->addAction(openAction); QStatusBar *statusBar = QMainWindow::statusBar(); statusBar->addAction(openAction);}MainWindow::~MainWindow(){ delete ui;}void MainWindow::open(){ QMessageBox::information(this,tr("Information"),tr("Open"));}
运行结果:
(1) 工具栏中添加了动作Open
(2)菜单栏中添加动作Open
二、资源文件
Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。如果你的程序需要加载特定的资源(图标、文本翻译等),那么,将其放置在资源文件中, 就再也不需要担心这些文件的丢失。 也就是说, 如果你将资源以资源文件形式存储,它是会编译到可执行文件内部。
使用 Qt Creator 可以很方便地创建资源文件。我们可以在工程上点右键,选择“添加新文件…”,
可以在 Qt 分类下找到“Qt 资源文件”:
点击“选择…”按钮,打开“新建 Qt 资源文件”对话框。在这里我们输入资源文件的名字和路径:
点击下一步,选择所需要的版本控制系统,然后直接选择完成。我们可以在 Qt Creator 的左侧
文件列表中看到“资源文件”一项,也就是我们新创建的资源文件:
右侧的编辑区有个“添加”,我们首先需要添加前缀,比如我们将前缀取名为 images。然后选中
这个前缀,继续点击添加文件,可以找到我们所需添加的文件。
Question:
今天在添加动作时,使用了资源文件中的images/open.png,在项目文件pro中添加了RESOURCES +=\ res.qrc。但是open图片没有在工具栏上显示出来?
原因是什么呢?
2016.9.6
今天在深入学习菜单栏、工具栏和标题栏的创建和添加动作的过程中,将图标添加到工具栏上,终于成功了。上次图标没有显示出来的原因是没有在资源文件.qrc中添加图片之后进行编译,没有生成对应的C++文件。
- Qt学习之五: 添加动作与资源文件
- QT学习之路(2):添加动作
- qt之添加资源文件
- QT之添加资源文件
- 《学习Qt之路2》笔记:qt之添加动作
- Qt学习之将资源文件添加到工程里面
- 【Qt学习笔记】.添加资源文件
- Qt 学习之路 2(8):添加动作
- QT 添加资源文件
- Qt 添加资源文件
- QT 添加资源文件
- Qt之添加Windows资源文件(.rc文件)
- Qt之添加Windows资源文件(.rc文件)
- QT学习篇(一) 添加动作
- qt中添加资源文件
- QT-如何添加资源文件
- Qt自动添加资源文件
- Qt :添加动作
- 漫步线性代数十六——投影和最小二乘
- 003-algorithm-have circle-topology sort
- 机器学习资料
- BCB 中 Application->CreateForm 和 New 的一个区别
- POJ 1475 Pushing Boxes 嵌套BFS -
- Qt学习之五: 添加动作与资源文件
- 大数据IMF传奇行动绝密课程第54课:Spark性能优化第十季之Spark统一内存管理
- 1059. Prime Factors (25)
- Java数组运算
- Android简易实战教程--第二十七话《自定义View入门案例之开关按钮详细分析》
- Java Socket和ServerSocket
- JAVA语法基础Demo练习
- 大数据IMF传奇行动绝密课程第55课:60分钟从零起步驾驭Hive实战
- 微信公众平台--接收普通消息与事件