
QT
ykm0722
这个作者很懒,什么都没留下…
展开
-
QT中QDataStream中浮点数输出问题
先上代码:C/C++ code? 1 2 3 4 5 6 7 8 9 10 11 12 13 intmain(intargc,char*argv[]) { QApplicationa(argc,argv); ...转载 2020-04-23 11:25:49 · 1097 阅读 · 1 评论 -
Qt使用Dom操作XML文件
Qt中对于XML文件的写入有两种方式,一个是使用QXmlStreamWriter,另一个则为使用Dom。stream流的形式相对来说更加灵活,而且适合处理大文件。Dom方式由于是将内容加载到了内存中进行操作,所以对于小内存设备则有一定得局限性。 下面给出一个用Dom写xml文件的例子。 假设定义的节点如下 [xhtml] view plaincopyprin转载 2012-02-17 10:53:36 · 1476 阅读 · 0 评论 -
QSpinBox 16进制显示
#include #include "hexspinbox.h"HexSpinBox::HexSpinBox(QWidget *parent) : QSpinBox(parent){ setRange(0, 255); validator = new QRegExpValidator(QRegExp("[0-9A-Fa-f]{1,8}"), this);转载 2012-02-21 16:17:09 · 3327 阅读 · 0 评论 -
QT学习 渐变填充
渐变,是指逐渐的,有规律性的变化,是一种规律性很强的现象。Qt提供了一个与渐变相关的QGradient类,目前支持三种渐变画刷,分别是线性渐变(QLinearGradient)、辐射渐变(QRadialGradient)、角度渐变(QConicalGradient),如下图所示:从左到右依次为:线性渐变、辐射渐变、角度渐变下面来看一下实现的代码,由于程序较简单,所以将解释都转载 2012-02-13 16:07:53 · 2035 阅读 · 0 评论 -
QT下int与QByteArray的转换
原创:http://blog.youkuaiyun.com/lbsljn/archive/2011/03/22/6268548.aspx 欢迎转载1:QBitArray2QString :也可以转化为整型,测试程序: 测试输出结果是否和移位结果相同; [cpp] view plaincopyprint?QBitArray x; int bit; bit =转载 2012-02-09 15:03:12 · 22061 阅读 · 1 评论 -
QMap 的使用
1.基本应用下面以“键-值”都是QString的例子说明QMap的基本使用方法。#include #include using namespace std;class MapTest{public: void showMap() {if(!m_map.isEmpty()) return; //判断map是否为空m_map.insert(“11转载 2012-02-09 13:51:27 · 1103 阅读 · 0 评论 -
如何把从串口读到的数据转换为十六进制的字符
//读取串口void MySerial::readMyCom(){ QByteArray temp; if(myCom->bytesAvailable() >= 8) { temp = myCom->readAll(); //读串口缓冲区数据 } QDataStream out(&temp,QIODevice::Rea转载 2012-02-07 10:49:24 · 6125 阅读 · 2 评论 -
使用QSet遇到的编译错误
今天下午写了如下一段代码:QSet pointSet; pointSet.insert(QPoint());编译后却得到一个编译错误:error C2665: 'qHash' : none of the 16 overloads could convert all the argument types1> d:/qt/4.6.2-msvc2005/include/qt转载 2012-01-17 16:11:24 · 2316 阅读 · 2 评论 -
QT 生成随机数
QTime time;time= QTime::currentTime();qsrand(time.msec()+time.second()*1000); int xxx=qrand()%100 %100 :在0-100中选出随机数原创 2011-12-28 14:21:11 · 12698 阅读 · 0 评论 -
Qt下的QString与数字的相互转化
把QString转换为 double类型方法1.QString str="123.45";double val=str.toDouble(); //val=123.45方法2.很适合科学计数法形式转换bool ok;double d;d=QString("1234.56e-02").toDouble(&ok); //ok=true;d;12.3456转载 2011-12-16 15:36:01 · 18880 阅读 · 0 评论 -
QT 播放背景音乐
void MainWindow::MusicOn()//音乐开{ mediaObject=Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(音乐文件)); mediaObject->play();}void MainWindow::MusicOff()//音乐关{原创 2011-12-22 09:41:04 · 11414 阅读 · 2 评论 -
socket通信中收到信息乱码
如题,服务器端是已经写好的,c#,用的字符集是Encoding("gb2312"),发送的是string。qt端用qsting来接收, QString data; data+=tcpSocket->readAll();如果服务器端发送的是数据流Stream呢,qt端要用QDataStream来接收吗?请高手赐教~~~ 我用 re转载 2011-12-14 22:14:46 · 2010 阅读 · 1 评论 -
qtreeview
http://devbean.blog.51cto.com/448512/268468转载 2011-12-21 22:32:12 · 937 阅读 · 0 评论 -
QT中由图形生成SVG文件实现方案
一. QT 的 2D 绘图 QT 的 2D 绘图由三个主要的类搭起整个框架: QPainter , QPainterDevice 和 QPainterEngine 。 1. QPainter 负责绘图操作的具体执行,如画点,画线,填充,变换等。 2. QPainterDevice 为 QPainter 用来绘图的绘图设备基类,其实际预定义的子类绘图设备包括 Qwidget转载 2011-12-08 15:57:08 · 2112 阅读 · 0 评论 -
用Qt中的QDomDocument类处理XML文件
XML,全称为扩展标记语言(extensible markup language).是一种非常方便的数据交换工具。现在Blog的订阅系统输出格式就是满足XML规范的RSS格式,还有SVG矢量图形也使用了XML格式。我们在取得一个XML格式的文件后,需要作句法分析去提取发布方提供的信息。而Qt为XML提供了很好的支持,包括DOM的实现和SAX的实现。DOM是Document Object M转载 2012-02-17 09:44:11 · 920 阅读 · 0 评论 -
QThread与其他线程间相互通信
转载请注明链接与作者huihui1988 QThread的用法其实比较简单,只需要派生一个QThread的子类,实现其中的run虚函数就大功告成, 用的时候创建该类的实例,调用它的start方法即可。但是run函数使用时有一点需要注意,即在其中不能创建任何gui线程(诸如新建一个QWidget或者QDialog)。如果要想通过新建的线程实现一个gui的功能,那么就需要通过使用线程间的通信来转载 2012-02-17 10:44:51 · 1273 阅读 · 0 评论 -
Qt ZMQ发布图片
QImage img; bool testF1 = img.load("D:/test.png"); QBuffer bufferThz1; tempThzImg.save(&bufferThz1, "jpg"); ThImage *pThz1 = frame.mutable_thz1(); pThz1->set_for...原创 2018-10-18 16:42:13 · 863 阅读 · 0 评论 -
使用QSS动态更换皮肤简单举例
通过QSS可以实现动态更换QT程序的外观。下面我主要通过一个小例子说明下如何动态变换皮肤的功能。首先,先创建一个test.qss文件,放置在程序目录下,文件内容如下:QPushButton {color:red;background-color:#FFFFFF}具体含义就是设置QPushButton字体颜色为red,背景颜色为#FFFFFF接着,我们创建一个QPushBut原创 2012-07-24 17:14:28 · 2430 阅读 · 0 评论 -
QT样式表Qss的应用
本文实现的是QPushButton和QComobox控件简单的Qss样式表的应用建立style.qss,内容如下:QPushButton {background-color: qlineargradient(spread:pad, x1:0.522124, y1:0, x2:0.506, y2:1,stop:0 rgba(85, 170, 127, 255),stop:1 rg原创 2012-07-24 17:12:04 · 3482 阅读 · 0 评论 -
QWT使用总结
废话不想太多,说下自己的使用总结。一般来说,对于一个图表。 可能的话,应该有一个坐标轴,QWT中,是用QwtPlot这个类 来描述一个图的坐标系图(只表示坐标系的背景,没有描点)。坐标(刻度)的设置,是使用其他类(如类名带有Axis、Scale)来设置的,但是他们大多设置的是相应的样式细节,具体的数值依然是由Plot设置。比如,我想设置一个坐标系的横坐标范围,是使用Plot中的 setAxi转载 2012-06-13 16:19:22 · 9989 阅读 · 0 评论 -
QWT6.0.1 配置方法 备忘
今天装了个qwt,安装装了一上午,无语啊。首先打开qwt.pro,编译一下,然后会出现个lib文件夹,把几个dll拷贝到qt安装目录/bin/文件夹下,再把几个lib文件拷贝到lib文件夹下,再把src文件夹拷贝到include文件夹下就可以了。然后要用的时候,把pro文件加入DEFINES += QT_DLL QWT_DLLCONFIG(debug,debug|releas原创 2012-06-13 16:12:34 · 3748 阅读 · 1 评论 -
使用QWT产生error LNK2001的原因及解决方法 .
在使用QWT进行二维曲线绘制,使用方法如下:class Plot: public QwtPlot{ Q_OBJECT……}此时报错:error LNK2001: 无法解析的外部符号"public: static struct QMetaObject const QwtPlot::staticMetaObject"出现这样的连接错误一般都是由于QwtPlot类的头文件转载 2012-06-07 16:23:13 · 2677 阅读 · 0 评论 -
QListWidget的item上实现右键菜单
关于右键菜单的实现,可以参考另一篇我转载的文章,在QT中添加右键菜单。问题:如何实现在一个列表中点击右键,如果在Item上面,则有“修改”选项,在其余空白处,则只有“添加”,"删除"选项。实现右键菜单, 从QListWidget中派生出ListWidget,重写void QWidget::contextMenuEvent ( QContextMenuEvent * event转载 2012-05-03 17:24:07 · 9102 阅读 · 1 评论 -
QTreeView对象如何设置行高
如题, 想改变QTreeView中每个节点的行高度, 在查询Qt参考文档没有得到结果后, 转到网上查询, 得到两种方法, 摘录如下:1. 继承QItemDelegate类, 并重载其中的sizeHint函数, 在sizeHint函数中实现给定行高, 将该继承类的对象通过QTreeView::setItemDelegate方法指定给treeview对象;这个方法经过实际试验是可行的,转载 2012-04-25 14:42:36 · 2746 阅读 · 0 评论 -
Qt中图像的显示与基本操作
Qt可显示基本的图像类型,利用QImage、QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放、旋转)。1. Qt可显示的图像类型参考Qt的帮助文档,可支持的类型,即可以直接读取并显示的格式有BMP、GIF、JPG、JPEG、PNG、TIFF、PBM、PGM、PPM、XBM、XPM。2. Qt用如何显示图像通常用QLabel显示图像,QLabel类有s转载 2012-04-10 23:06:47 · 11093 阅读 · 1 评论 -
QT动画框架
Qt动画框架由本人终于翻译完毕,这里的每个字母、每个汉字、每张图片都是有本人一个一个敲打出来的,现把它共享出来。 Qt动画框架是Kinetic项目的一部分,主要目的是提供一种简单的方法用于创建动画的和平滑的GUI。通过Qt动画属性,Qt动画框架为部件和其他QObject对象的动画操作提供了非常大的自由性。Qt动画框架也能用于图形视图框架中。 在这片文章中,我们阐述了转载 2012-03-20 13:03:38 · 1359 阅读 · 0 评论 -
Qt利用JavaScript访问网页元素(百度博客下载例子)
Qt利用JavaScript访问网页元素(百度博客下载例子) 本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途。 谢谢合作。 原文链接:Qt利用JavaScript访问网页元素(百度博客下载例子)昨天的文章Qt利用DOM API访问网页元素介绍了怎样使用QtWebKit转载 2012-03-02 17:12:18 · 3398 阅读 · 0 评论 -
QT获取磁盘剩余空间大小
quint64 TestReadExcel::getDiskFreeSpace(QString driver){ LPCWSTR lpcwstrDriver=(LPCWSTR)driver.utf16(); ULARGE_INTEGER liFreeBytesAvailable, liTotalBytes, liTotalFreeBytes; if( !GetDiskF原创 2012-02-20 18:03:58 · 12851 阅读 · 6 评论 -
QT读取excel
void TestReadExcel::readExcel(){ QAxObject *excel = NULL; QAxObject *workbooks = NULL; QAxObject *workbook = NULL; excel = new QAxObject("Excel.Application"); if (!excel)原创 2012-02-20 18:02:29 · 10681 阅读 · 3 评论 -
Qt四舍五入取模取余操作
Qt四舍五入取模取余操作Qt中有两个函数进行四舍五入操作:qRound与qRound64。qint64 qRound64 ( qreal value )将qreal类型的数值,四舍五入后返回一个最近64位的整数,示例:qreal valueA = 42949672960.3;qreal valueB = 42949672960.7;int roundedVa转载 2011-12-08 15:08:06 · 22613 阅读 · 0 评论 -
QGraphicsItem中的碰撞检测描述
QGraphicsItem中的碰撞检测描述 QGraphicsItem是图元基类。QGraphics View框架提供了几种标准的图元,如矩形(QGraphicsRectItem、椭圆(QGraphicsEllipseItem)和文本图元(QGraphicsTextItem)等。用户可以继承QgraphicItem实现符合自己需要的图元。QGraphicsItem具有以下功能:转载 2011-12-08 15:04:28 · 15396 阅读 · 0 评论 -
Qt学习之路(57): 文本文件读写
二进制文件比较小巧,但是不是人可读的格式。文本文件是一种人可读的格式的文件,为了操作这种文件,我们需要使用QTextStream类。QTextStream和QDataStream的使用类似,只不过它是操作纯文本文件的。还有一些文本格式,比如XML、HTML,虽然可以由QTextStream生成,但Qt提供了更方便的XML操作类,这里就不包括这部分内容了。QTextStream会自动将 Unic转载 2011-11-24 10:25:09 · 789 阅读 · 0 评论 -
Qt学习之路(56): 二进制文件读写
今天开始进入 Qt 的另一个部分:文件读写,也就是 IO。文件读写在很多应用程序中都是需要的。Qt 通过 QIODevice 提供了IO的抽象,这种设备(device)具有读写字节块的能力。常用的IO读写的类包括以下几个:QFlie访问本地文件系统或者嵌入资源QTemporaryFile创建和访问本地文件系统的临时文件QBuffer读写 QByt转载 2011-11-24 10:23:54 · 792 阅读 · 0 评论 -
Qt学习之路(29): 绘图设备
绘图设备是指继承QPainterDevice的子类。Qt一共提供了四个这样的类,分别是QPixmap、QBitmap、QImage和QPicture。其中,QPixmap专门为图像在屏幕上的显示做了优化,而QBitmap是QPixmap的一个子类,它的色深限定为1,你可以使用QPixmap的isQBitmap()函数来确定这个QPixmap是不是一个QBitmap。QImage专门为图像的像素级访转载 2011-11-23 17:53:06 · 905 阅读 · 0 评论 -
导出图片备忘
void MainWindow::exportDocument(){#ifndef QT_NO_PRINTER QString fileName = "bode.pdf";#else QString fileName = "bode.png";#endif#ifndef QT_NO_FILEDIALOG const QList imageFormats =转载 2011-11-22 14:40:19 · 729 阅读 · 0 评论 -
Qt学习之路(23): 自定义事件
这部分将作为Qt事件部分的结束。我们在前面已经从大概上了解了Qt的事件机制。下面要说的是如何自定义事件。Qt允许你创建自己的事件类型,这在多线程的程序中尤其有用,当然,也可以用在单线程的程序中,作为一种对象间通讯的机制。那么,为什么我需要使用事件,而不是使用信号槽呢?主要原因是,事件的分发既可以是同步的,又可以是异步的,而函数的调用或者说是槽的回调总是同步的。事件的另外一个好处是,它可以使转载 2011-11-22 15:42:41 · 661 阅读 · 0 评论 -
Qt学习之路(20): 事件接收与忽略
本章内容也是关于Qt事件。或许这一章不能有一个完整的例子,因为对于事件总是感觉很抽象,还是从底层上理解一下比较好的吧!前面说到了事件的作用,下面来看看我们如何来接收事件。回忆一下前面的代码,我们在子类中重写了事件函数,以便让这些子类按照我们的需要完成某些功能,就像下面的代码:void MyLabel::mousePressEvent(QMouseEvent *event)转载 2011-11-22 15:37:15 · 756 阅读 · 0 评论 -
Qt学习之路(19): 事件(event)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://devbean.blog.51cto.com/448512/223974前面说了几个标准对话框,下面不打算继续说明一些组件的使用,因为这些使用很难讲完,很多东西都是与实际应用相关的。实际应用的复杂性决定了我们根本不可能把所有组件的所有使用方法都说明白。这次来说说Qt转载 2011-11-22 15:29:27 · 590 阅读 · 0 评论 -
Qt学习之路(24): QPainter
多些大家对我的支持啊!有朋友也提出,前面的几节有关event的教程缺少例子。因为event比较难做例子,也就没有去写,只是把大概写了一下。今天带来的是新的部分,有关Qt的2D绘图。这部分不像前面的内容,还是比较好理解的啦!所以,例子也会增加出来。 有人问豆子拿Qt做什么,其实,豆子就是在做一个Qt的画图程序,努力朝着Photoshop和GIMP的方向发展。但这终究要经过很长的时间、很困难的转载 2011-11-22 15:13:17 · 848 阅读 · 0 评论 -
Qt 实现橡皮筋线
/** rubberband.h * 孤舟钓客 * 2011-07-25 */#ifndef RUBBERBAND_H#define RUBBERBAND_H#include class QRubberBand;class RubberBand : public QMainWindow{ Q_OBJECTpublic:转载 2011-11-20 14:29:01 · 4703 阅读 · 0 评论