一、图片资源的调用

  

  如上图是我图片存放的位置跟qrc的命名;

  如下则是qrc对应的编写格式;  

<RCC>
<qresource>
<file>images/icon.png</file>
.
.
.
<file>images/gotocell.png</file>
</qresource>
</RCC>

  当qrc放置好之后,则需要在pro文件中添加对应的文件配置:RESOURCES = spreadsheet1.qrc

  当完成这些操作之后则可以自由地调用images中存在,并且qrc中已经描述的文件;

  比如:QIcon(":/images/gotocell.png")

  

二、QAction的使用

  任何QT窗口部件都可以有一个与之相关联的QActions列表。当需要统一操作,而各个控件不一样的时候,可以通过QAction来预操作;具体可以看帮助文档;

  比如可以读取存储在action里面的data;

        QAction* action = qobject_cast<QAction*>(sender());
if (action)
loadFile(action->data().toString());

  这里通过sender()可以获取触发槽对应的信号的对象;比如:

   connect(aboutAction, SIGNAL(triggered()), this, SLOT(about()));

  在about()函数中调用sender();则会返回对应的aboutAction

三、QSettings的使用

    QSettings settings("Software Inc.", "Spreadsheet");

    settings.setValue("geometry", saveGeometry());
settings.setValue("recentFiles", recentFiles);
settings.setValue("showGrid", showGridAction->isChecked());
settings.setValue("autoRecalc", autoRecalcAction->isChecked());

  可以通过该类设置对应的key,value到系统中;当该软件再次打开的时候,可以再次获取到之前软件中保存的一些设置;

    QSettings settings("Software Inc.", "Spreadsheet");
restoreGeometry(settings.value("geometry").toByteArray());
recentFiles = settings.value("recentFiles").toStringList();
updateRecentFileActions();
bool showGrid = settings.value("showGrid", true).toBool();
showGridAction->setChecked(showGrid);
bool autoRecalc = settings.value("autoRecalc", true).toBool();
autoRecalcAction->setChecked(autoRecalc);

四、模态跟非模态对话框;

  非模态对话框

    findDialog = new FindDialog(this);
findDialog->show();
findDialog->raise();
findDialog->activateWindow();

  模态对话框

GoToCellDialog dialog(this);
dialog.exec()

  当非模态的对话框要变成模态对话框则需要调用函数 findDialog->setModel();

  问题描述:

  mac中,在菜单中无法指定位置显示

    fileMenu->addAction(exitAction);
helpMenu = menuBar()->addMenu(tr("&Help"));
helpMenu->addAction(aboutAction);
helpMenu->addAction(aboutQtAction);

  这是因为在mac中这几个是全局窗口模式的,所以无法根据自己的设置进行显示;如下图所示:

  



Qt Gui 第三章~第四章的更多相关文章

  1. JS复习:第三章&第四章

    第三章 一.把一个值转换成字符串的两种方法: 1.使用每个值都有的toString( )方法.这个方法唯一要做的就是返回相应值的字符串表现.例如: var age = 11 ; var ageAsSt ...

  2. 《linux就该这么学》第四节课笔记,三章和四章开始!

    第三章 (根据课本和在线培训视频排版总结,借鉴请改动)         右键可打开终端练习             3.1:输入输出重定向 输入重定向:符号 "<" ,是一种 ...

  3. CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章

    第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...

  4. Java 线程第三版 第四章 Thread Notification 读书笔记

    一.等待与通知 public final void wait() throws InterruptedException      等待条件的发生. public final void wait(lo ...

  5. c语言学习之第四章

    第四章 第四章主要介绍了分支结构,循环结构的简单使用,还有其他简单的语句结束语句,比如,break,continue.还有gote语句.下面是我学习C语言第四章的一些心得和总结. 1简单的if语句 简 ...

  6. QT学习(三)

    首先整理一下编码的方法.对于一个待解决的问题,首先应该将大问题分解成小问题,将小问题划分为小小问题... 然后再进行类的抽象,将划分成的问题和类进行对应.然后再对划分的小..问题进行具体的处理分析,划 ...

  7. Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句

    第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...

  8. 《学习OpenCV》练习题第四章第三题b

    #include <highgui.h> #include <cv.h> #include "opencv_libs.h" /* *<学习OpenCV ...

  9. 《学习OpenCV》练习题第四章第三题a

    #include <highgui.h> #include <cv.h> #include "opencv_libs.h" #pragma comment ...

随机推荐

  1. git系列之---将本地的项目添加到码云仓库

    1.前情: 本地写的 Demo 传到码云上面进行维护. 2.操作步骤: git init   将本地文件初始化为git 仓库,文件件会多一个 .git 文件夹[版本库]: git add .   或者 ...

  2. 宿主机休眠后,虚拟机网络ping不通网关

    宿主机  win10 64位 虚拟机软件  vmware 15 虚拟机 centos 7 64位 网络模式:桥接模式 故障起因:  中午去吃饭,为了节省电费,把宿主机 windows 给休眠了 吃完饭 ...

  3. vue搭建手顺

    1.环境准备:node.js  vue-cli: $ npm install vue-cli -g 2.建立项目目录:vuedemo,并cd到该目录下 3.$ vue init webpack  vu ...

  4. ES集群调整搜索速度

    一.内存文件系统足够的缓存 Elasticsearch严重依赖于文件系统缓存,以加快搜索速度.通常,您应确保至少有一半的可用内存分配给文件系统缓存,以便Elasticsearch可以将索引的热区保留在 ...

  5. spark集群

    https://blog.csdn.net/boling_cavalry/article/details/86747258 https://www.cnblogs.com/xuliangxing/p/ ...

  6. app简单压力测试

    step1:手机开发者选项中,将USB调试选上 step2:确认手机和电脑已经连接成功:adb devices step3:安装测试app:adb install package.apk (1)cd命 ...

  7. 【算法】——递归:小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方式。

    分析:从最后一步分析,能有的情况有三种情况构成,写出如图所示的方程 //和斐波拉契相似 int void f(int n) { //考虑出口 ) ;//正常思路是返回0 ) ;//通过自己想可以得出只 ...

  8. Julia 入门学习教程

    有一门语言,它看起来像 Python ,感觉起来像 Lisp ,运行起来又像 C 一样快速,他就是Julia. 近年来,Julia 语言已然成为编程界的新宠,尤其在科学计算和人工智能领域炙手可热. 据 ...

  9. ajax-属性、原理、实现html5进度条上传文件

    一.远古ajax实现方式如下: 1.前端请求后台,后台设置返回 http状态码204 2.运用img图片(或css/javascript等)的加载机制,请求后台 3.post提交数据,运用iframe ...

  10. 开发FTP服务接口,对外提供接口服务

    注意:本文只适合小文本文件的上传下载,因为post请求是有大小限制的.默认大小是2m,虽然具体数值可以调节,但不适合做大文件的传输 最近公司有这么个需求:以后所有的项目开发中需要使用ftp服务器的地方 ...