Qt学习总结(C鱼)之路径参数引用

1.引用相对路径:

例如: QCursor cursor(QPixmap("1.png"));

问题:会发现引用失败,这是因为相对路径都是从当前工作目录开始找起文件的。可以通过以下函数获取当前工作目录:

bool QDir::setCurrent ( const QString & path ) [static]

然后会发现当前工作目录是C:\Users\Administrator,与之不符。所以可以考虑将当前工作目录重新设置,而另一个问题,因为Qt是将工程目录和程序目录放在两个地方,例如:

程序目录: C:\Users\Administrator\Desktop\QT\build-Qt-Project-05-unknown-Debug
工程目录: C:\Users\Administrator\Desktop\QT\Qt-Project-05

至于程序目录,其实可以通过调用以下函数来获取:

QString QCoreApplication::applicationDirPath () [static]

好了,现在得到了程序目录,我们就可以将当前工作目录设置为程序目录,例如:

QDir::setCurrent(QCoreApplication::applicationDirPath());

2.引用绝对路径:

例如:
QCursor cursor(QPixmap("C://Users//Administrator//Desktop//QT//build-Qt-Project-05-unknown-Debug//debug//1.png"));

经过测试,‘//’和‘\’,都有效。

3.引用资源文件:

当添加了资源文件后,并且前缀设置为‘/’。那么就可以直接引用了,例如:

QCursor cursor(QPixmap(":/resource/1.png"));

注意前面要添加‘:’字符

原文地址:http://blog.51cto.com/12731497/2113268

时间: 2024-11-08 23:53:10

Qt学习总结(C鱼)之路径参数引用的相关文章

Qt学习(17)

Qt学习(17)——自定义信号和槽 本节首先介绍一下C++编程中常用的传递数据机制,包括类对象的公有成员变量.友元类/函数.公有函数.回调函数等等,这些机制在Qt程序中也是可以使用的.然后重点介绍如何在Qt类里面自定义信号和槽,通过手动触发信号来调用槽函数,完成两个对象之间的消息传递,本节最后示范一个信号接力触发的例子.本节内容较多,分三部分来学习. 1.C++的沟通方式 C++编程中常遇到各个对象之间进行沟通的情景,需要将数据从一个对象传递给另一个对象来处理.大致的方法有如下几种: 接收端定义

Qt学习总结-ui篇(二)

qccs定义圆角 border-radius:10px; 如果想给特定位置定义圆角,如: 左上角:border-left-top-radius:10px; 右下角色:border-right-bottom-rasius:10px; 半透明效果 只需要在css中使用rgba(100,100,100,40)这种形式来表示颜色即可. 为可执行文件添加图标 1.新建文件:finename.rc 文件名无所谓,只要后缀为rc就可以. 2.编辑新建的文件,输入以下内容: IDI_ICON1 ICON DIS

QT学习第1天

QT学习第一天  坚持住!! 一 Qt概述 1.Qt发展历史 (1)1991年诞生(Haavard Nord/Eirik Chambe-Eng), (2)1994年创立Troll Tech(奇趣科技) (3)2005年QT4.0 (4)2008年被Nokia收购 (5)2009年源代码开源 (6)2012年Nokia将全部QT业务和知识产权卖给Digia公司 (7)2013年QT5.0 QT5.1 QT5.2 (8)2014年Digia公司成立 The Qt Company子公司 2.Qt5.4

Qt学习三 - 菜单栏、工具栏、状态栏

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); /** QAction是Qt中用于添加动作的类, * 可以将它添加在菜单,作为一个菜单项,也可以添加到工具栏,作为一个工具栏按钮 * 其中参数一是设置该操作按钮的图标,":/images/icon"是资源文件的路径 * 参数二中"&"号代表设

Qt学习笔记-Widget布局管理

Qt学习笔记4-Widget布局管理 以<C++ GUI Programming with Qt 4, Second Edition>为参考 实例:查找对话框 包含三个文件,finddialog.h,finddialog.cpp及main.cpp. //finddialog.h代码 #ifndef FINDDIALOG_H#define FINDDIALOG_H #include <QDialog> class QCheckBox;class QLabel;class QLineE

Qt 学习之路 2 --- 读书笔记

一.文章来由 来自豆子老师非常好的一本Qt教程,但是只有网络版,所以用这个做笔记了,不动笔墨不读书嘛~~ 二.读书笔记 1.Qt 学习之路 2(2):Qt 简介 1.1 关于 Qt 的一站式解决 Qt 是一个著名的 C++ 应用程序框架.但并不只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件.使用 Qt,在一定程度上你获得的是一个"一站式"的解决方案:不再需要研究 STL,不再需要 C++ 的,不再需要到处去找解析 XML.连接数据库.访问网络的各种第三方库,因为

【Qt学习笔记】11.自定义控件 Customize the Widget

一.窗口绘制--基本方法 自定义窗口: Qt里允许自定义窗口控件,使之满足特殊的要求: 1.可以修改其显示,自行绘制 2.可以呈现动态效果 3.可以添加事件,支持鼠标和键盘操作 自定义的控件可以直接在Qt Designer 中使用,可以直接加到父窗口里. 步骤: 1.新建一个类,继承于QWidget和QFrame,最好是继承于QFrame2.重写以下函数 void CellMonitor::paintEvent( QPaintEvent* event ) 3.使用这个类 CircleWidget

Qt学习(14)

Qt学习(14)——使用QByteArray 本节学习 QByteArray 的两种用法,第一种作为字符串处理类,类似 QString ,但 QByteArray内部字符编码不确定,所以要慎用.第二种是作为纯的字节数组,里面可以包含多个 '\0' ,经常用于网络数据的接收和发送. 1 QByteArray和char Qt最常用的字符串类是内码固定的QString,而针对传统类似C语言char*的字符串,Qt提供了QByteArray类来处理.QString的字符单元是QChar,QByteArr

【Qt学习笔记】2.窗体Widget && 屏幕坐标 && 布局

一.窗体 在Qt中,把窗体(口)叫做Widget. Widget可以是主窗体(口),也可以是依附在主窗体(口)上的各种控件,作为子窗体,这两种窗口,分别称作顶级窗口(top-level widget)和子窗口(sub widget). 顶级窗口:一个标准的窗口,带边框.标题栏.若干按钮.(独立) 子窗口:在窗口里面的窗口,例如:按钮.文本框等控件.(不独立,随着父窗口移动) 注意: 1.每个子窗口都有一个父窗口 2.子窗口里面可能包含了若干子窗口,是一层一层的关系. 3.顶级窗口也有父窗口:就是