Qt:QDir】的更多相关文章

0.说明 QDir提供了访问目录及目录下内容的类. QDir既可以用于访问文件系统,也可以用于访问Qt 资源系统(Qt's resource system.). Qt用 "/" 作为目录分隔符,此外,"/" 也是URL的路径分隔符. QDir可以指向一个用相对路径或绝对路径指明的文件.绝对路径在不同系统下不同,Linux系统下,以文件分隔符"/"开始,如:"/home/user/Documents":在Windows系统下,以…
简介 QDir类提供了访问系统目录结构及其内容的与平台无关的方式. 头文件:#include <qdir.h> QDir类用来操作路径名及底层文件系统,获取关于目录路径及文件的相关信息,也可以用来获取Qt资源系统的文件信息.QDir类使用相对或绝对文件路径来指向一个文件/目录.绝对路径是从目录分隔符“/”或者带有一个驱动器标识(除了在Unix下).如果总是使用“/”作为目录分隔符,Qt将会把你的路径转化为符合底层的操作系统的.相对文件名是由一个目录名称或者文件名开始并且指定一个相对于当前路径的…
在做Qt项目的时候,我们难免遇到到文件路径问题. 如QFile file("text.txt")加载不成功.QPixmap("../text.png") 加载图片不成功等等.今天就来做一个关于Qt路径问题的小结! 首先需要弄清楚两个概念:绝对路径与相对路径 绝对路径: 文件在硬盘上真正存在的路径.例如“text.jpg”这个图片是存放在硬盘       的“E:\book\目录下,那么 “text.jpg”这个图片的绝对路径就是“E:\book\text.jpg&q…
Qt:禁止qDebug的输出 在工程的.pro文件里加上以下编译批令即可: DEFINES += QT_NO_DEBUG_OUTPUT…
Qt:使用自定义的字体 1. 下载字体文件 2. 加载字体文件 3. 使用字体   QFontDatabase::addApplicationFont("XENOTRON.TTF"); ui->toolButton_2->setFont(QFont("XENOTRON", 34));   http://www.cppblog.com/biao/archive/2012/01/01/163345.html…
0.说明 QJsonObject在逻辑上就是一个Map或Dict!记住这一点对理解它的方法.说明很有帮助. QJsonObject类封装了JSON Object. JSON Object是一个Key-Value对,Key是string,而Value是QJsonValue. QJsonObject与QVariantMap间可以互相转化.可以通过调用size()来查询K-V对的数量.通过insert().remove()来从中移除K-V对. QJsonObject是个隐含共享类,与创建它的Docum…
0.说明 QJsonValue类用于操作JSON中的各种数据. JSON是用于存储结构化数据的格式,JSON中的数据可以是六种类型: 基本类型 存储类型 bool QJsonValue::Bool double QJsonValue::Double string QJsonValue::String array  QJsonValue::Array object  QJsonValue::Object null  QJsonValue::Null 这六种类型就能代表任何程序中的类型了.除此之外,…
0.说明 QJsonArray中存储了一系列的QJsonValue.可以向其中插入.删除QJsonValue. 一个QJsonArray可以与QVariantList互相转换.可以通过size()访问其中的元素数,insert().removeAt()移除其中的元素,并通过标准C++迭代模式进行迭代. QJsonArray是个隐含的共享类,它与创建该类的Json文档共享数据,也就是说修改数据时它们会同时改变. 可以从JSON中生成QJsonArray或者把QJsonArray转化为JSON. 1…
参考(按对我帮助从大到小排列): Qt内的各种路径(让人迷惑) - 鬼谷子com - 博客园 qt webengineview 加载本地资源方式 - beautifulday - 博客园 (17条消息) QML笔记点滴_LynFun的专栏-CSDN博客 (6 封私信 / 1 条消息) pyqt中使用统一资源定位符和使用路径有什么区别? - 知乎 问题 程序中有一段构造了一个QUrl的代码 QUrl("qrc:///BaiDuMap/mainMap.html") 让我百思不得其解的是其中…
基本原理是通过channel将C++对象暴露给HTML,在HTML中调用qwebchannel.js.前提是建立transport,QT只提供了一个抽象基类QWebChannelAbstractTransport,需要自己进行实现,官方建议用QWebSocket实现,并给出了实例. 1.实现Transport类,内置一个WebSocket套接字: 2.实现新的channel类,内置一个WebSocketServer; 3.利用新的channel注册C++对象,从而HTML可以使用该对象: 4.通…
QFile 0.说明 QFile是读写文件的类,这里的文件包括文本文件.二进制文件.资源文件. 通常情况下,文件读写使用QFile.QTextStream.QDataStream就够了. file name在构造QFile时传入,或者通过setFileName()自己设置.不管什么OS,QFile中的分隔符都是 '/'.其它分隔符均不支持. 通过exists()检查文件是否存在,用remove()移除文件(更多文件系统相关的操作可见QFileInfo and QDir.) 通过open()打开文…
     正则表达式是验证输入.从输入中提取数据以及对输入进行搜索和替换的强大工具,所谓正则表达式,regexp是一种利用模式匹配语言来描述字符串组成限制条件的方式;        Qt 提供了一个QRegExp类,它实现了Perl风格的扩展正则表达式语言的大部分功能:     正则表达式是一个字符的序列; 1):特殊字符 . (匹配任何字符) \n (匹配换行符) \f (匹配换页符) \xhhhh(匹配一个unicode字符,其对应的码值是范围0x0000到0xFFFF之间的一个十六进制数h…
Qt QTableView 上加右键弹出菜单, 并复制选中的单元格内容到剪贴板中 http://wenku.baidu.com/view/c51cfb63cf84b9d528ea7a29.html http://www.cppblog.com/biao/archive/2010/01/01/104593.html QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数: Qt::ContextMenuPolicy contextMenuPolicy () cons…
From: http://blog.csdn.net/kfbyj/article/details/9284923 最近做项目遇到的问题,总结下. 有时候我们觉得系统的标题栏和按钮太丑太呆板,想做自己的标题栏以及最大化.最小化.关闭,菜单按钮,我们就需要 setWindowFlags(Qt::FramelessWindowHint); 但是这样过后,我们就不能拖动窗口改变位置,以及拖动边缘改变窗口大小了. 有两种方案处理这种情况: 1.自己对mouseMoveEvent,mousePressEve…
主要思路:1:将窗体设为Qt::FramelessWindowHint(去掉标题栏).2:用一幅有部分区域是透明的图片作为程序的界面,并将图片透明的地方设为穿透. 3:重载程序的鼠标事件. 运行时截图(浅绿色的是桌面背景) 源代码: #include <QtGui> class IrregularWidget : public QWidget { Q_OBJECT public: IrregularWidget(QWidget *parent = 0); protected: void mou…
不知是哪个版本的迅雷,有个“下载速度柱状图”的小界面,我比较喜欢(只不过最新版本的迅雷却没了),所以决定来山寨一个.当然,这个山寨品不能下载文件,呵呵. 思路:1:将界面的背景涂成黑色2:每隔0.1秒就产生一个随机数,将它们添加到一个容器中 3:重载paintEvent函数,,从界面的右边开始,依次将容器中的元素按倒序画出来(每个数据就是一个柱形) 截图: 代码: #include <QtGui> #include <QtCore> class BarChart : public …
有些窗口在自身最小化时要在桌面上显示一个小浮标,让用户利用这个小浮标进行各种操作(例如迅雷的悬浮窗一样),我试着用QT实现一下这个功能. PS:本来以为这个功能很简单,却搞了我两个晚上,泪奔... 思路: 1:制作一个由一个小图标组成的,可点击,可拖动,背景透明的Widget 2:重载主窗口(在此例子中是QLabel)的changeEvent(详情见代码) 截图:(浅绿色的部分是桌面背景) 主窗体: 小浮标: 代码: #include <QtGui> #include <Windows.…
昨天在玩手机游戏时,见到一个游戏的饼状投票统计图很漂亮,所以我今天也花了一个下午来实现了一个类似的程序娱乐一下,呵呵. 思路:1:将窗体设为Qt::FramelessWindowHint和Qt::WA_TranslucentBackground(去掉标题栏,背景透明).2:重载程序的鼠标事件(移动程序)和键盘事件(模拟投票和退出).3:根据投票结果,在paintEvent函数中画几个扇形和其他东西. 操作说明:1:按数字键0-9模拟投票. 2:按ESC键退出程序. 运行时截图(浅绿色的是桌面背景…
QT与很多GUI库不同(如MFC),它不能随时随地地在界面上画图,只能在界面类的painterEvent中画图,如此一来,想在绘制QT界面时使用状态模式(GOF的23种设计模式之一)就有点困难了,作为解决方案,我先把要界面上的图片绘制在一张图片上(QPixmap),然后再在painterEvent中将Pixmap“画”到界面上.以下是这种方法的一个小例子. 截图: 源代码: #include <QtGui> //状态类的基类,定义了各个公用接口, //其中,SetPixmap是一个纯虚接口 c…
这里的线程是指下载的通道(和操作系统中的线程不一样),一个线程就是一个文件的下载通道,多线程也就是同时开起好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配.不难理解,如果你线程多的话,那下载的越快.现流行的下载软件都支持多线程. 思路:1:用阻塞的方式获取目标地址的HTTP头部,得到目标文件的大小.2:算出每段文件的开始点,结尾点,并分别向目标地址发出请求.3:每次目标地址有数据返回,都将得到的数据写入文件. 4:等待各段文…
前几天要用QSet作为储存一个自定义的结构体(就像下面这个程序一样),结果死活不成功... 后来还跑到论坛上问人了,丢脸丢大了... 事先说明:以下这个例子是错误的 #include <QtCore> struct node { int cx, cy; bool operator < (const node &b) const { return cx < b.cx; } }; int main(int argc, char *argv[]) { QCoreApplicati…
封装了一个类,可以进行在局域网进行P2P通讯(仅局域网可用) 也就是说,假设局域网中有10台电脑,那么从本机发出的数据,将依次派发到这10台电脑(目前的设计中包括自己这台) 在使用方面,构造的时候给端口和一些参数,然后只需要管send槽和accepted信号就可以了 特性/原理介绍: 1.UDP搜索 2.TCP通讯(短连接) 3.自带心跳包,自动维护可用ip 4.TCP工作线程为单独的线程,稳定 5.完全P2P,无需服务器 注意: 1.一台电脑只能使用单开,多开无法监听端口,就无法使用 2.用到…
1. 创建一个继承于QWidget的类,重载一个叫paintEvent的函数, 2. 在paintEvent函数中调用Qpainter类,此类是一个重量级类,在paintEvent函数尽量只创建一次 3. 如描画柱状图:在paintEvent函数中 QPainter painter(this); QPen pen; pen.setColor(Qt::blue); pen.setWidthF(); painter.setPen(pen); painter.drawRect(posx, posy,…
1. 安装QT 2. 在QT Welcome画面,点击 New Project 3. 选择Application--Qt Widgets Application 4. 按提示创建即可 文件目录如下: 头文件如下: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_…
qt提供了qt install framework用于程序打包,方便.快捷,并且可以对界面和功能进行自定义. 但是, 如果使用默认的打包配置,不进行安装页面功能自定义的话, 在修改安装路径时,在对程序进行卸载的时候,会将安装路径下的所有文件 全部删除. 那么,这就会导致一个问题: 如果用户修改了安装路径,没有新建文件夹用来安装,而是直接安装在了D:\目录下,在卸载的时候,会将 D:\下的所有文件全部清除掉.很操蛋的操作! 参考: https://stackoverflow.com/questio…
由于用QTcpSocket写网络通讯程序,当正常服务端或者客户端断开的时候,我们监测信号即可:Signals:stateChanged(QAbstractSocket::SocketState).(手动关闭网络连接,也会检测到断开) 但是当若是有一端无故突然被拔掉网线,这个信号就检测不到TcpSocket已经断开了,而且她仍然是连接状态. 那么我们这个时候就需要考虑到心跳信号了. 在Qt中,已经提供了QAbstractSocket::KeepAliveOption clientSocket->s…
From: http://blog.csdn.net/rl529014/article/details/51378734 本质上,Qt 是一个C++类库.在引入 QML 以前,所有的开发都是基于 C++ 的,但到了 Qt 5,QML 和 Qt Quick 成为了 Qt 的核心之一,导致很多初学者在犹豫是否还需要学习 C++. 使用 QML 开发界面主要有以下几个优点: QML 非常灵活,可以做出非常炫酷的效果,例如 QQ.360.迅雷等都不在话下. QML 是标记语言,见名知意,非常容易编写和阅…
今天在进行QT Widget的UI设计时,改了下Widget的对象名,然后在多次成功编译执行后,执行清理,又一次构建,就出现了好多莫名奇异的错误: widget.h:12: 错误:forward declaration of 'struct Ui::Widget' widget.cpp:8: 错误:invalid use of incomplete type 'struct Ui::Widget' 网上搜索发现是每当你新键一个 QT设计界面, QT会自己主动生成yyy.ui文件,如Widget.…
Qt从5.2版開始提供了两个类QCommandLineOption和QCommandLineParser来解析应用的命令行參数. 一.命令行写法 命令行:"-abc" 在QCommandLineParser的解析模式为ParseAsCompactedShortOptions(默认)时会被觉得是3个參数,即"-a"."-b"和"-c" QCommandLineOption op1("a"); QCommand…
原文链接:http://www.cnblogs.com/emouse/archive/2013/03/31/2991333.html 作者写作一系列:http://www.cnblogs.com/emouse/category/449213.html Qt图像的缩放显示 实现图像缩放的方法很多,在 OpenCV&Qt学习之一--打开图片文件并显示 的例程中,label控件是通过 ui->imagelabel->resize(ui->imagelabel->pixmap()-…