Qt Gui 第三章~第四章
一、图片资源的调用
  
如上图是我图片存放的位置跟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 第三章~第四章的更多相关文章
- JS复习:第三章&第四章
		
第三章 一.把一个值转换成字符串的两种方法: 1.使用每个值都有的toString( )方法.这个方法唯一要做的就是返回相应值的字符串表现.例如: var age = 11 ; var ageAsSt ...
 - 《linux就该这么学》第四节课笔记,三章和四章开始!
		
第三章 (根据课本和在线培训视频排版总结,借鉴请改动) 右键可打开终端练习 3.1:输入输出重定向 输入重定向:符号 "<" ,是一种 ...
 - CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章
		
第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...
 - Java 线程第三版 第四章 Thread Notification 读书笔记
		
一.等待与通知 public final void wait() throws InterruptedException 等待条件的发生. public final void wait(lo ...
 - c语言学习之第四章
		
第四章 第四章主要介绍了分支结构,循环结构的简单使用,还有其他简单的语句结束语句,比如,break,continue.还有gote语句.下面是我学习C语言第四章的一些心得和总结. 1简单的if语句 简 ...
 - QT学习(三)
		
首先整理一下编码的方法.对于一个待解决的问题,首先应该将大问题分解成小问题,将小问题划分为小小问题... 然后再进行类的抽象,将划分成的问题和类进行对应.然后再对划分的小..问题进行具体的处理分析,划 ...
 - Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句
		
第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...
 - 《学习OpenCV》练习题第四章第三题b
		
#include <highgui.h> #include <cv.h> #include "opencv_libs.h" /* *<学习OpenCV ...
 - 《学习OpenCV》练习题第四章第三题a
		
#include <highgui.h> #include <cv.h> #include "opencv_libs.h" #pragma comment ...
 
随机推荐
- C#后台异步消息队列实现
			
简介 基于生产者消费者模式,我们可以开发出线程安全的异步消息队列. 知识储备 什么是生产者消费者模式? 为了方便理解,我们暂时将它理解为垃圾的产生到结束的过程. 简单来说,多住户产生垃圾(生产者)将垃 ...
 - github无法访问的解决实践
			
无废话版: ----------------------------- 1.复制下面内容,添加到hosts文件里(C:\Windows\System32\drivers\etc)不能修改的话,则把文件 ...
 - 你为什么不来了解一下Python?
			
一.什么是Python Python [1](英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum发明. ...
 - java自学:从零基础到入门系列--java环境变量的配置JDK的下载安装图解
			
一.首先去官网下载 Java 语言的软件开发工具包–JDK,下载JDK8即可,下载地址为:https://www.oracle.com/technetwork/java/javase/download ...
 - datagridview 如何显示记载中
			
要实现如下效果,有何思路?
 - VBA-FileToFileUpdate
			
Public Sub FileToFileUpdate(ByVal fileName As String, ByVal strFrm As String, ByVal strTo As String) ...
 - excel  名次
			
RANK.AVG 函数 全部显示 全部隐藏 返回一个数字在数字列表中的排位:数字的排位是其大小与列表中其他值的比值:如果多个值具有相同的排位,则将返回平均排位. 语法 RANK.AVG(number, ...
 - vue(六)--计算属性(computed)
			
计算属性关键词: computed demo1: <div id="app"> <p>原始字符串: {{ message }}</p> < ...
 - EPEL添加与删除
			
EPEL简介 EPEL的全称叫 Extra Packages for Enterprise Linux,由Fedora社区打造,如它的全称,这是一个为红帽系列及衍生发行版如CentOS.Fedora提 ...
 - 如何修复MacBook Pro过热:保持MacBook散热的13个技巧
			
尽管MacBook Pro是一台能处理繁重工作量的高能效机器,但它却无法像市场上其他笔记本电脑一样避免过热.至于什么可以防止发热,那不是一两个技巧就能解决的问题.相反,这是一组技巧可以解决的挑战. 因 ...