QT mainwindow四件套
最近在学习QT。下面总结一下mainwindow的设置步骤。
使用的平台为vs2013+qt5.3.2+qt-vs-addin1.2.3
1)安装软件
首先安装vs2013,这个不多介绍。
然后安装qt5.3.2和addin1.2.3。并设置相关环境。详细见http://tieba.baidu.com/p/3451630520?pid=61264366864#61264366864。
2)建立qt工程项目
具体省略。主要介绍相关代码。
主要涉及4个函数
CreateActions();
CreateMenus();
CreateToolBars();
CreateStatusBar();
具体实现代码例:
//定义动作ACtion
void MainWindow::CreateActions()
{
action_new_ = new QAction(QIcon(":/MainWindow/Resources/images/new.png"), tr("&New"), this);
action_new_->setShortcut(QKeySequence::New);
action_new_->setStatusTip(tr("Create a new file"));
action_open_ = new QAction(QIcon(":/MainWindow/Resources/images/open.png"), tr("&Open..."), this);
action_open_->setShortcuts(QKeySequence::Open);
action_open_->setStatusTip(tr("Open an existing file"));
connect(action_open_, SIGNAL(triggered()), imagewidget_, SLOT(Open()));
}
代码解释:QIcon(":/MainWindow/Resources/images/new.png")是读取图片的。注意双引号中的写法。 tr("&New")注意不要忘记&。setShortcut(QKeySequence::New)是设置快捷键,括号中的表示使用windows默认的快捷键。setStatusTip(tr("Create a new file"))表示状态栏显示的内容。
//定义菜单栏Menu
void MainWindow::CreateMenus()
{
menu_file_ = menuBar()->addMenu(tr("&File"));//创建了一个菜单叫File
menu_file_->setStatusTip(tr("File menu"));//状态栏显示File menu
//下面4个为菜单File中包含的Action
menu_file_->addAction(action_new_);
menu_file_->addAction(action_open_);
menu_file_->addAction(action_save_);
menu_file_->addAction(action_saveas_);
}
//定义工具栏ToolBar
void MainWindow::CreateToolBars()
{
toolbar_file_ = addToolBar(tr("File"));//创建了一个工具栏,名称为File
//下面3个为工具栏File包含的ACtion
toolbar_file_->addAction(action_new_);
toolbar_file_->addAction(action_open_);
toolbar_file_->addAction(action_save_);
}
//激活状态栏
void MainWindow::CreateStatusBar()
{
statusBar()->showMessage(tr("Ready"));
}
3)注意事项
1、在.h文件中声明用到的变量自不用说了。
2、工具栏中添加的各种图片表示应当在*.qrc文件中设置,不然没法显示。
3、想不起来了,下次想起来在写吧。
QT mainwindow四件套的更多相关文章
- Qt MainWindow结构
(图自:FinderCheng 的 Qt 学习之路(11): MainWindow)
- 研究QGIS二次开发笔记(一)
为了在QT程序中嵌入一个地图,最终选择了QGIS来干这件事.选型阶段真是呵呵.我折腾的是QGIS2.4.0. 首先,到官方网站下载安装QGIS.如果你跟我一样懒的话,可能希望下载一个已经编译好的win ...
- Qt无边框MainWindow如何拖动四周改变大小
原来还有winEvent(), x11Event() and macEvent() 这些东西...不过貌似还需要找更好的办法,否则就无法跨平台了. 你需要重新处理部分窗体事件,以下代码适用于Windo ...
- QT 初试 MainWindow简易窗体
1.创建一个空的QT工程文件 2 建立程序文件 MainWindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include<QMainWind ...
- Qt学习之路MainWindow学习过程中的知识点
一.Qt的GUI程序有一个常用的顶层窗口,叫做MainWindow MainWindow继承自QMainWindow.QMainWindow窗口分成几个主要的区域: 二.QAction类 QAct ...
- QT中QWidget、QDialog以及MainWindow的区别
参考 http://blog.csdn.net/u011619422/article/details/47311101 QT中QWidget.QDialog以及MainWindow的区别 QWidge ...
- QT 创建主窗口 MainWindow 实例
1. 2. mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include & ...
- Qt 学习之路 2(7):MainWindow 简介
Qt 学习之路 2(7):MainWindow 简介 豆子 2012年8月29日 Qt 学习之路 2 29条评论 前面一篇大致介绍了 Qt 各个模块的相关内容,目的是对 Qt 框架有一个高屋建 ...
- Qt之Dialog\widget\ mainwindow的区别和布局管理器 & 分裂器的区别
1.Dialog\widget\ mainwindow的区别 注意mainwindow和widget的区别,mainwindow都工具栏和菜单栏 Dialog and mainwinodws 都是继承 ...
随机推荐
- MBR(Master Boot Record)主引导记录分析
root@ubuntu1404:/home/chen# fdisk -l /dev/sda1 Disk /dev/sda1: MB, bytes heads, sectors/track, cylin ...
- 我的web框架设计
做了很久的web开发,学了webform和mvc自己总结了,觉得当下的构架还是有改进的可能的. 其实首先说下我的一些认识(个人认知,欢迎讨论,谢绝砸砖). 我觉得对计算机和数据的操作,本身就是一个单向 ...
- android_view自定义中的几个方法
1.onDraw ,改变View绘制的图像 2.onMeasure,改变View的大小 3.onLayout,改变View在父控件的位置
- Task示例,多线程
class Program { static void Main(string[] args) { Run(); } public static async void Run() { var task ...
- 有关segue的简介
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { ViewControllerB *vc = segue ...
- 推荐几个好用的在线svn空间
推荐 免费的svn空间 1.http://www.svn999.com/ [推荐] 个人感觉比svnchina.svnspot好用多了,申请容易,功能齐全,速度也很快,关键还是免费容量比svnchin ...
- C# mvc中为Controller或Action添加定制特性实现登录验证
在本文开始前,先简单讲两个知识点: 1.每个action执行前都会先执行OnActionExecuting方法: 2.FCL提供了多种方式来检测特性的存在,比如IsDefined.GetCustomA ...
- java名词解释
依赖注入 DI 面向切面编程 AOP 简单java对象 POJO -- JavaBean(spring称呼) 企业级javabean EJB
- mongodb版本特性
2.x index,writeConcern, readPreference 3.0 wiredtiger, pluggable staorage engine, improved mmapv1 3 ...
- html drag 拖拽用法和注意事项
1.拖拽过程中的事件暂时jQuery里还没有,只能通过html DOM 来进行绑定,不然无法获取dataTransfer对象 2.在dragstart .dragover 等事件中可以用 evt.pr ...