Qt中实现菜单和工具栏功能
Qt创建菜单和工具栏:
一、 temp.h文件的内容
1.定义类temp继承QMainWindow
2.添加Q_OBJECT , 构造函数 、 析构函数等内容
3.$重点内容
3.1定义QAction *newAction; (相当于菜单和工具条里面的基本功能如:新建、打开文件)
3.2定义QMenu *fileMenu;
3.3定义 QToolBar *fileToolBar;
4.定义QAction的响应函数即slot函数:
private slots:
void msg();
二、 temp.cpp 文件内容
1.添加头文件
#include <QtGui>
#include "temp.h"
#include<windows.h> //MessageBox()函数
2.填写构造函数(重点内容)
2.1 初始化和设置QAction
newAction = new QAction(tr("&New"), this);
newAction->setIcon(QIcon("D:/Documents/Visual Studio 2010/Projects/qt-book/chap03/temp/images/new.png"));
newAction->setShortcut(QKeySequence::New);
newAction->setStatusTip(tr("Create a new spreadsheet file"));
connect(newAction, SIGNAL(triggered()), this, SLOT(msg()));
2.2 添加File菜单并返回指针给QMenu *fileMenu , 将QAction添加到菜单File中。
fileMenu = menuBar()->addMenu(tr("&File")); //menuBar()需要头文件#include <QtGui>
fileMenu->addAction(newAction);
2.3 添加File工具栏并返回指针给QToolBar * fileToolBar ,将QAction添加到File工具栏中
fileToolBar = addToolBar(tr("&File"));
fileToolBar->addAction(newAction);
3.实现void msg()函数(用于测验使用)
void temp::msg()
{ MessageBox(NULL,TEXT("这是对话框"),TEXT("你好"),MB_ICONINFORMATION|MB_YESNO); }
三、 main.cpp文件的内容
#include "temp.h"
#include <QtGui/QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
temp w;
//w.setFixedSize(800,22); //此函数可以实现ENVI菜单样式
w.show();
return a.exec();
} main.cpp
main.cpp
四、补充temp.h和temp.cpp文件
#ifndef TEMP_H
#define TEMP_H #include <QtGui/QMainWindow>
class temp : public QMainWindow
{
Q_OBJECT public:
temp(QWidget *parent = );
~temp();
private:
QAction *newAction;
QMenu *fileMenu;
QToolBar *fileToolBar; private slots:
void msg(); }; #endif // TEMP_H
temp.h
#include <QtGui>
#include "temp.h"
#include<windows.h>
temp::temp(QWidget *parent)
: QMainWindow(parent)
{
newAction = new QAction(tr("&New"), this);
newAction->setIcon(QIcon("D:/Documents/Visual Studio 2010/Projects/qt-book/chap03/temp/images/new.png"));
newAction->setShortcut(QKeySequence::New);
newAction->setStatusTip(tr("Create a new spreadsheet file"));
connect(newAction, SIGNAL(triggered()), this, SLOT(msg())); fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(newAction); fileToolBar = addToolBar(tr("&File"));
fileToolBar->addAction(newAction); //setCentralWidget(fileToolBar); //此函数的作用是将QWidget控件放在中间位置
} temp::~temp()
{ }
void temp::msg()
{
MessageBox(NULL,TEXT("这是对话框"),TEXT("你好"),MB_ICONINFORMATION|MB_YESNO);
}
temp.cpp
五、结果预览


六、工程文件下载地址
http://pan.baidu.com/s/1mgkOkrQ
Qt中实现菜单和工具栏功能的更多相关文章
- Qt5:Qt中屏幕或窗口截图功能的实现
要想在Qt中实现屏幕或窗口截图功能 ,通常有两种方法: 1 -- 使用 QPixmap 类 2 -- 使用 QScreen类 然而虽然俩两种方法用到的类不相同,但是调用到的类成员函数的函数名称和参 ...
- qt中的菜单QMenu QAction
Qt中要建立菜单,有三个类很重要: QMenuBar(QWidget * parent = 0) QMenu(QWidget * parent = 0) QMenu(const QString &am ...
- PyQt5教程——菜单和工具栏(3)
PyQt5中的菜单和工具栏 在这部分的PyQt5教程中,我们将创建菜单和工具栏.菜单式位于菜单栏的一组命令操作.工具栏是应用窗体中由按钮和一些常规命令操作组成的组件. 主窗口 QMainWindow类 ...
- 在PyQt中构建 Python 菜单栏、菜单和工具栏
摘要:菜单.工具栏和状态栏是大多数GUI 应用程序的常见且重要的图形组件.您可以使用它们为您的用户提供一种快速访问应用程序选项和功能的方法. 本文分享自华为云社区<Python 和 PyQt:创 ...
- Qt中截图功能的实现
提要 需求:载入一张图片并显示,能够放大缩小,能够截取图片的某个矩形并保存. 原以为蛮简单的一个功能,事实上还是有点小复杂. 最简单Qt图片浏览器能够參考Qt自带的Demo:Image Viewer ...
- 在 jupyter 中添加菜单和自动完成功能
在 jupyter 中添加菜单和自动完成功能 参考文档http://www.360doc.com/content/17/1103/14/1489589_700569828.shtmlhttp://to ...
- Qt中QMenu的菜单关闭处理方法
Qt中qmenu的实现三四千行... 当初有个特殊的需求, 要求菜单的周边带几个像素的阴影, 琢磨了半天, 用QMenu做不来, 就干脆自己用窗口写一个 然而怎么让菜单消失却非常麻烦 1. 点击菜单项 ...
- qt中qlineedit和qtextedit右键菜单翻译成中文
没有linguist和lupdate等命令需要安装Linguist: 在Terminal中输入: sudo apt-get install qt4-dev-tools qt4-doc qt4-qtco ...
- 第47课 Qt中的调色板
1. QPalette类 (1)QPalette类提供了绘制QWidget组件的不同状态所使用的颜色. (2)QPalette对象包含了3个状态的颜色描述 ①激活颜色组(Active):组件获得焦点使 ...
随机推荐
- windows笔记
三星(SAMSUNG)905S3G-K07 安装Windows 7 过程分享 http://www.cnblogs.com/scue/p/4100743.html 打开方式没有excel http:/ ...
- 检查DISPLAY设置时Xlib出现No protocol specified错误
退出到root用户,执行xhost +命令后,再次切换到Oralce用户,执行runInstaller命令,错误消失
- Spring-----9、容器中bean的生命周期
转载自:http://blog.csdn.net/hekewangzi/article/details/45648771
- nodejs iconfont处理
做前端优化,iconfont可以替换掉很多图片,减少请求,并有很好的兼容性,颜色大小也有很好的自由度.现在网上已经有很多公开的iconfont供我们使用.但是每个项目有不同的应用场景,网上的并不能满足 ...
- 提升Boolean和out相结合的用户体验
在我们编写代码的过程中经常有这样的需求,比如添加一条数据,我们想要的结果是如果添加成功了就返回true,如果添加失败了就返回false,在返回false的同时携带错误信息,我们通常的做法是定义这样的方 ...
- 观察者模式模拟YUI事件机制
首先介绍下YUI的事件机制,很好理解,因为和浏览器事件机制差不多.看懂下面几个方法就可以了: publish: 创建自定义事件.第一个参数是事件类型,第二个参数是一个对象,里面可以设置默认动作 on: ...
- GO学习资源站
GO语言学习资源网站 http://golangtc.com https://gobyexample.com http://golang-examples.tumblr.com
- Blacksmith test
最近使用Blacksmith 对各种K,V数据库做了一些测试,从中了解了一些各种数据库的设计方式,比较各种数据库的性能 BlaskSmith是我们自己的产品,详细的产品信息可以在github上看到 h ...
- 快速配置 Samba 将 Linux 目录映射为 Windows 驱动器
原文链接 samba client ubuntu redhat ubuntu gui tools 1,列出某个IP地址所提供的共享文件夹 smbclient -L 198.168.0.1 2,在s ...
- VC实现图片拖拽及动画
基础知识 1.PictureBox控件的使用 2.加载位图文件 1.通过文件路径获得位图句柄 //获得位图句柄 void CMovePictureDlg::GetHandleFromPath(CSt ...