Qt
文章平均质量分 55
alan00000
这个作者很懒,什么都没留下…
展开
-
关于c++ 自增
QByteArray array; array.resize(5); array[0]=0; array[1]=1; array[2]=2; array[3]=3; array[4]=4; int currentindex=0; qDebug("array[index++]=%x",array.at(++current原创 2013-05-21 15:29:02 · 773 阅读 · 0 评论 -
关于如何获取当前焦点控件并判断控件类型
Part1测试代码,通过分析可以知道焦点变换过程和相关函数作用 QLineEdit *lineedit; QWidget *currentitem; currentitem=QApplication::focusWidget(); if(currentitem!=NULL) { if(currentitem->inherits("QLi原创 2013-04-22 22:10:13 · 2050 阅读 · 0 评论 -
关于Qt模态与非模态对话框
模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在。又有叫法是称为模式对话框,无模式对话框等。所谓模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。对于非模态对话框,当被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互。在Qt中,显转载 2013-04-28 12:09:40 · 810 阅读 · 0 评论 -
QTabWidget如何设置tab头的宽度
setStyleSheet(QTabBar::tab{width:宽度});右击控件,在样式表编辑框中写入就行原创 2013-03-20 10:58:34 · 6519 阅读 · 1 评论 -
关于QByteArray用法的小总结
QByteArray array; array.resize(3); array[1]=0x7f; qDebug("I array[1]=0x7f;array 1 is %d,%x",QVariant(array[1]).toInt(),QVariant(array[1]).toInt()); qDebug("I array[1]=0x7f;__arra原创 2013-03-30 11:45:13 · 15296 阅读 · 3 评论 -
printf格式化输出说明
%a 浮点数、十六进制数字和p-记数法(C99)%A 浮点数、十六进制数字和p-记法(C99)%c 一个字符(char)%C 一个ISO宽字符%d 有符号十进制整数(int)(%ld、%Ld:长整型数据(long),%hd:输出短整形。) %e 浮点数、e-记数法%E 浮点数、E-记数法%f转载 2013-03-01 11:32:13 · 684 阅读 · 0 评论 -
Qt创建新文件
QT有自己的文件和文件夹,目录的操作类:QFileQDir但是你发现并没有创建目录和创建文件的函数。其实你完全可以用c运行时库提供的方法来创建文件,如:[cpp] view plaincopyprint?FILE *pF = fopen( "filename", "w" ); FILE *pF = fopen( "filename", "w"转载 2013-02-28 09:38:49 · 30921 阅读 · 0 评论 -
Qt文件与目录操作
今天学习QT的文件操作 1、QIODevice直接继承自QObjectQIODevice类是输入/输出设备的基类。QIODevice为设备提供了公共实现和抽象接口用于读写块数据。QIODevice是一个抽象类,不能被实例化。被Q3Socket,Q3SocketDevice,QAbstractSocket,QBuffer,QFile,QLocalSocket,QNetwo转载 2013-02-27 21:42:38 · 9153 阅读 · 1 评论 -
Qt 文件操作
1.QT中打开文件(类似C中的文件操作)QFile dataFile("dataFile.txt"); if (!dataFile.open(QFile::ReadOnly|QIODevice::Text)) { ui->label_2->setText("open error"); }打开文件后,使用QTextStrin转载 2013-02-28 11:18:50 · 2426 阅读 · 0 评论 -
QRegExp正则表达式用法
"^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\d+$" //整数 "^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\.[0-9转载 2013-02-25 16:44:50 · 4399 阅读 · 0 评论 -
Qt编码问题(3)
在QT中可以直接QTextCodec来转换字符串的编码,这为在QT下开发中文软件带来了便利条件,不过这种方法不符合国际化/本地化的标准:CODE:局部转码:char *string = "你好,世界!";QTextCodec *codec = QTextCodec::codecForName("GBK");//QTextCodec *codec = QTextCodec::co原创 2013-03-05 17:51:11 · 776 阅读 · 0 评论 -
关于C++枚举类型
C++编程语言作为一种功能强大的语言,对开发人员来说作用是非常大的。不过,其中有很多应用方式还需要我们去不断的探讨,不断从中汲取经验来达到熟练的程度。下面我们就先为大家详细介绍一下有关C++枚举类型的相关概念。1、枚举enum的用途浅例写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等转载 2013-01-17 20:33:13 · 634 阅读 · 0 评论 -
Qt 程序改变文字大小
qt程序在PC上跑的时候,字体大小没有问题,但是下到开发板上后,就变成非常的小,几乎看不见了, 板子helper2416 qt4 7寸液晶屏 作者:帅得不敢出门 c++哈哈堂31843264尝试过 在后面加-font unifont ,字是大了些,但是大小都一样。后在网上找到一个方法: 在板子上设置环境变量export QWS_DISPLAY=LinuxFB转载 2013-01-09 12:11:50 · 1619 阅读 · 0 评论 -
Qt启动外部程序
摘要: 通常,我们运行shell程序都是在终端里进行的,而在产品中,不可能叫用户到终端里去敲命令吧;还有,当系统中的某一个计算功能,我在另一程序里已经做好了,想通过GUI程序直接调用它运行。那么,在这些情况下,如何通过GUI上的button来运行shell脚本和linux程序呢。下面将在mini6410上,通过一个范例来介绍如何在QT4 GUI程序里调用shell程序和运行应用程序。转载 2013-01-08 15:28:20 · 4489 阅读 · 0 评论 -
Qt下如何获得本地网卡IP
#include #include #include #include GetIpv4::GetIpv4(){ QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); QList vAddressList = QNetworkInterface::allAddresses();原创 2012-12-29 19:45:24 · 2992 阅读 · 0 评论 -
关于Qt事件机制与事件定制
学习了一段时间的Qt之后,发现Qt的事件机制和其他语言的机制有些不同。Qt除了能够通过信号和槽机制来实现一些Action动作之外,还可以用对象所带的事件,或者用户自定义的事件来实现对象的一些行为处理。现在,我们从头开始讲解。到底什么是事件呢? 事件起源: 基于事件如何被产生与分发,可以把事件分为以下三类。Spontaneous 事件——自发事件由窗口系统产生,它们被放到系统队列转载 2013-06-17 13:55:11 · 789 阅读 · 0 评论 -
Qt模拟鼠标按键事件
QT平台上模拟鼠标事件案例是本文要介绍的内容,主要是来了解QT平台上的模拟鼠标事件的应用,具体内容的实现来看本文详解。需要导入QTest4.lib 否则会有连接时错误#includeQtTest/QTest> QTest::mouseClick(ui.mainPlayer,Qt::LeftButton,0,pos(),-1); QT平台模拟鼠标按键和模拟键盘按键类似,也是通过发送相应的转载 2013-06-18 08:42:15 · 6951 阅读 · 0 评论 -
Qt部分鼠标操作函数示例
QCursor myicon ( QPixmap ( ":/images/vvgb.png" )); //注意那个英文的双引号以及qrc文件中的路径前缀。 QApplication::setOverrideCursor(myicon ); //将鼠标指针更改为自己设置的图片setCursor(myicon ); //这个是局部的,不像上面那个函数是全转载 2013-06-17 20:14:21 · 3781 阅读 · 0 评论 -
运算符优先级
C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--.成员转载 2016-01-20 17:37:48 · 395 阅读 · 0 评论 -
QT的字符编码转换
开发的终端需要接入两个外设,二代证读取设备和打印机。让人郁闷的是,两个设备的字符编码与终端系统不一致,一开始耗了不少时间,后来才注意到字符编码的问题。二代证读出来的数据都是用unicode编码的,而打印子要求穿过去的数据要转换成unicode编码。查阅了help文档,发现QT有自己的转换函数,那真是再好不过了。首先是二代证的数据:QString text =转载 2014-07-07 16:56:30 · 2617 阅读 · 0 评论 -
C++ 回调函数与函数指针
补充: 楼主已经开始想要知道如何用函数指针了,不错,好学生,给你个例子#include int ff(int(*p)(int,int),int a,int b)//原始写法,阅读不便{return p(a,b);}typedef int(*Pfun)(int,int);//定义函数指针类型,同时申明了原型 返回int 两个int形参int f(Pfun p,in转载 2014-05-20 10:15:10 · 760 阅读 · 0 评论 -
Qt 模态对话框及生命周期
如果要设置为模态对话框,最简单的就是使用exec()方法,示例代码如下: MyDialog myDlg; myDlg.exec();也可以使用show()方法,示例代码如下: MyDialog myDlg; myDlg.setModal(true); myDlg.show();如果要转载 2014-05-08 15:44:39 · 1416 阅读 · 0 评论 -
Qt close hide reject等
不知道标题该怎么取了,文中就简单整理一下下面几个函数吧。因为不断有网友问到此类问题(包括相关问题),所以,自己整理一下,也算学习小结了。这些函数分两类,一类是用来删除对象的(从内存中干掉),一类是用来隐藏窗口的(从界面上干掉)0QObject::deleteLater()delete obj;析构对象1QW转载 2014-05-08 11:37:50 · 3932 阅读 · 2 评论 -
键盘聚焦
Qt的部件按照GUI设计中的惯例来处理键盘聚焦。 基本的问题就是,用户的击键动作能够直接聚焦在屏幕上的任意窗口,或者是内嵌在特定窗口的任意部件上。当用户按下一个键时,他们期望焦点在他们期望的位置,软件必须要满足这个需求。系统必须要决断击键动作直接聚焦在哪个应用程序,应用程序的哪个窗口,窗口的哪个部件。聚焦动作将键盘焦点聚集在一个特定的部件上的惯例有以下几种:1、用户按转载 2014-04-18 15:09:44 · 1169 阅读 · 0 评论 -
QT中线程调用GUI主线程控件的问题
QT中线程调用GUI主线程控件的问题之前写过一篇文章,是传界面指针到线程中去,从而在线程中操作主界面中控件。今天发现,这种方法是极其错误的,文章我已经删掉,希望没有误人子弟。前面转的两篇文章中对于为什么不能在线程中操纵界面控件指针有了很好的解释。下面在做下解释:尽管QObject是可重入的,但GUI类,特别是QWidget与它的所有子类都是不可重入的。它们仅用于主线程。正如前面提到转载 2014-03-18 10:07:29 · 2085 阅读 · 0 评论 -
关于float型数据与int型,字节数组的转化
java中float与int转化有int i = Float.floatToIntBits(v);及相反函数,相当方便;下面介绍的是C++中c++ float int 按位互转inline float int32_bitcast_float32(int temp){return(*((float *)((void *)(&temp))));}inline int float32原创 2013-11-07 23:33:18 · 20312 阅读 · 1 评论 -
QwtPlot 实例
该实例绘制了两条sin曲线并自动刷新曲线显示,一个曲线跟前篇一样是平缓曲线,另一条是硬拐点曲线,之后按动按键使两个曲线均向右平移,注意,同时移动多条曲线的情况下不要使用setData函数了,程序会错误退出,应该使用setSamples函数,具体参见代码#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #includ原创 2013-09-26 16:25:55 · 4962 阅读 · 3 评论 -
QwtPlot介绍及实例(转)
QwtPlot是用来绘制二维图像的widget。在它的画板上可以无限制的显示绘画组件。绘画组件可以是曲线(QwtPlotCurve)、标记(QwtPlotMarker)、网格(QwtPlotGrid)、或者其它从QwtPlotItem继承的组件。 QwtPlot拥有4个axes(轴线)yLeft Y axis left of the canvas.转载 2013-09-26 15:57:30 · 4929 阅读 · 1 评论 -
安装cmake 和opencv并在Qt中使用opencv(linux-pc环境)
安装 cmake1.下载源码包2.解压cmake源码包,进入目录(1)./configure(2)make(3)make install----------------------------------------------------割-------------------------------------安装opencv-2.4.6.1如果需要处理视频要先原创 2013-08-01 16:49:08 · 4988 阅读 · 0 评论 -
Qt阻塞延时与非阻塞延时
非阻塞延时:void GreenPass3::delaymsec(int msec){ QTime dieTime = QTime::currentTime().addMSecs(msec); while( QTime::currentTime() QCoreApplication::processEvents(QEventLoop::AllEvents,原创 2013-07-15 21:25:35 · 6999 阅读 · 0 评论 -
Qt 绘图
绘图设备是指继承QPainterDevice的子类。Qt一共提供了四个这样的类,分别是QPixmap、QBitmap、QImage和 QPicture。其中,QPixmap专门为图像在屏幕上的显示做了优化(具体平台相关),而QBitmap是QPixmap的一个子类,它的色深限定为1(即只有黑白两色),你可以使用 QPixmap的isQBitmap()函数来确定这个QPixmap是不是一个QBitm转载 2013-07-18 17:48:45 · 1267 阅读 · 0 评论 -
Qt 自制文件浏览器并实现按照扩展名过滤
为这个问题折腾好几天,差点放弃,现提供示例代码如下: dirmodel=new QFileSystemModel(); dirmodel->setRootPath(QDir::currentPath());//设置根目录 QStringList strlist; strlist<<QString("*.jpg"); dirmodel->s原创 2013-07-18 16:23:26 · 3573 阅读 · 1 评论 -
安装Qwt6.0(Ubuntu)
1、使用Ubuntu的Software Center安装Qt creator;2、下载Qwt6.0,http://sourceforge.net/projects/qwt/;并将其存放到/opt/下面;3、按照User Guide的说明安装Qwt6.0,http://qwt.sourceforge.net/qwtinstall.html;安装完成后会在/usr/local/下面生成qwt-转载 2013-07-08 15:32:32 · 4291 阅读 · 4 评论 -
Qt中的定时器的使用
有两种方法实现定时器。第一种。自己建立关联。1.新建Gui工程,工程名可以设置为timer。并在主界面上添加一个标签label,并设置其显示内容为“0000-00-00 00:00:00 星期日”。2.在mainwindow.h中添加槽函数声明。private slots:void timerUpDate();3.在mainwindow.cpp中添加代码。添加#incl转载 2012-12-27 13:55:00 · 1049 阅读 · 0 评论 -
关于字节数组QByteArray
qDebug() QByteArray array;array.resize(2);array[0]=0x01; qDebug()qDebug() qDebug()输出为sizeof int is 4;sizeof array[0] is 8;sizeof array.at(0) is 1;sizeof array is 4;测试环境为32位原创 2012-12-10 10:28:04 · 4348 阅读 · 0 评论 -
QListWidget的一些常用函数
listWidget = QListWidget() #实例化一个(item base)的列表listWidget.addItem('dd') #添加一个项listWidget.addItems([]) # 从序列中添加子项listWidget.setDragEnabled(True) #设置拖拉listWidget.sortItems() #排序listWidget.sele转载 2012-10-04 10:05:01 · 16430 阅读 · 0 评论 -
用QLcdNumber显示时间
转自:http://www.linuxidc.com/Linux/2011-10/45832p2.htm//mydialog.h #ifndef MYDIALOG_H #define MYDIALOG_H #include class QLCDNumber; class QTimer; class MyDialog : public Q转载 2012-09-11 17:20:42 · 13254 阅读 · 1 评论 -
QTableWidget的使用与美工总结
本文系转载,原文地址:http://blog.sina.com.cn/s/blog_83dddc170100t31g.html基本外观设置FriendTable->setFrameShape(QFrame::NoFrame); //设置边框FriendTable->setHorizontalHeaderLabels(HeadList); 设置表头FriendTa原创 2012-09-06 16:22:57 · 1208 阅读 · 0 评论 -
Qt中QTableWidget用法总结
本文系转载,原文地址:http://www.haogongju.net/art/1358127QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也原创 2012-09-06 16:27:54 · 2904 阅读 · 0 评论 -
Qt下如何添加资源文件
背景:.png文件放在/root/Desktop/iconpix/下,.qrc文件放在/root/Desktop/方法一:自动生成qrc:1.直接新建一个qrc文件,写上,用qt打开,在里面通过图形ui添加前缀与图片文件,之后保存;2.在pro文件中添加RESOURCES += /root/Desktop/source.qrc方法二:手写qrc:1.新建qrc文件,原创 2012-08-22 16:12:16 · 8486 阅读 · 0 评论