Qt/QML
ymc0329
这个作者很懒,什么都没留下…
展开
-
QTreeView点击标题头列可排序,不可移动
QTreeView点击标题头列可排序,set QTreeView Sort使用原因:默认的QTreeView点击列标题时无效果。达到效果:点击列标题头列可自动排序。涉及函数:void QTreeView::setSortingEnabled ( bool enable )示例代码(Code):centertreeview->setSortingEnabled(tr原创 2012-02-23 10:40:30 · 4475 阅读 · 3 评论 -
Qt获取多边形(QGraphicsPolygonItem)或Qt图形组件与直线(QLineF)的交点
有时需要获取直线与各种图形的交点,包括多边形和各种Qt图形框。例如上图中,要想使连接线始终在多边形的边上,且能指向多边形中心,那么我们就要获取连线AB与多边形的交点。1.多边形(QGraphicsPolygonItem)与直线(QLineF)的交点//已知点和多边形//A、B点可通过多边形的boundingRect().width()/2获取;QPointF A;QPoi原创 2012-08-24 11:29:58 · 8170 阅读 · 1 评论 -
详解Qt样式/颜色机制:调色板(QPalette)与样式表(Style Sheets)
详解Qt样式/颜色机制:调色板(QPalette)与样式表(Style Sheets) ----个人原创,辛苦之作,转自请注明出处:凌晨四点的HelloWorld Qt的样式/颜色机制主要有两个体系,一个是用调色板(QPalette) 另一个是样式表Style原创 2012-08-24 18:05:01 · 11329 阅读 · 0 评论 -
Qt实现冒泡排序法
冒泡排序是最简单也是比较常用的排序法。时间复杂度为O(n^2)其实在Qt中若对许多字符串进行排序,完全可以使用QStringList的Sort()函数,其排序结果是按照字母顺序表进行排序的。但当排序条件是其他情况时就需要自己进行改写,比如我们要按照字符串长度按从长到短进行排序,代码如下:QList OExpression::getSortedList(QList list){ for(原创 2012-08-20 23:01:33 · 5153 阅读 · 0 评论 -
详解QUiLoader 动态加载.ui文件
1.适用情况: 动态加载UI文件是指,用 Qt Designer 通过拖拽的方式生产.ui 文件。不用 uic工具把.ui 文件变成等价的 c++代码,而是在程序运行过程中需要用到UI文件时,用 QUiLoader 加载.ui文件,达到相同目的。 ---------------------------------------------------------------------原创 2012-08-06 11:31:09 · 10321 阅读 · 0 评论 -
QT国际化机制的相互矛盾的地方[Q_PROPERTY与tr函数]
Qt国际话是通过tr函数翻译来实现的,也就是没有tr函数就不能进行国际化,但Qt自身的一些机制又限制了tr函数的使用。这就导致了一些不能加tr函数的地方就没法进行国际化。 比如:Qt Designer自带的国际化文件:对于右侧显示属性的QtProperty的实现机制,所有右侧的属性都是在Q_PROPERTY(Qt::ItemFlags itemFlags READ fakeItem原创 2012-08-06 14:55:54 · 1914 阅读 · 0 评论 -
Qt拷贝文件、文件夹(QFile::copy)
//拷贝文件:bool MyTest007::copyFileToPath(QString sourceDir ,QString toDir, bool coverFileIfExist){ toDir.replace("\\","/"); if (sourceDir == toDir){ return true; } if (!QFile::exists(sourceDir))原创 2012-09-13 16:37:49 · 93660 阅读 · 21 评论 -
QML学习总结(上)
这是之前应任务要求,学习QML时整理的一个文档,下面是从Word中copy过来的,可能格式已经很乱了,有需要的朋友可以浏览一下。想具体查看的话,可以把这个文档下载下来。 下载地址:(上)http://download.csdn.net/source/3543786 (下) http://downlo原创 2011-08-24 16:47:13 · 15451 阅读 · 5 评论 -
Qt连接Oracle数据库详细介绍(QOCI)
Qt连接Oracle数据库详细介绍1.前提条件(1)本地安装了Oracle数据库或者oracle instant client。(2)已编译成功所需要的lib文件QOCI.lib (这部分等我稍后补上)2.实现代码:(1)包含lib文件 QtSql4.lib QtSql4d.lib(2)代码:#include #incl原创 2012-10-31 16:32:09 · 21218 阅读 · 6 评论 -
Qt常用片段代码库(持续更新)
1.Qt中QString,int,char,QByteArray之间相互转换2.QT获取系统当前时间#include QDateTime dt; QTime time; QDate date; dt.setTime(time.currentTime()); dt.setDate(date.currentDate()); //自定义格式QString curre原创 2012-12-27 09:55:16 · 3129 阅读 · 0 评论 -
QTreeView 不可编辑
this->setEditTriggers(QAbstractItemView::NoEditTriggers);参看:enum QAbstractItemView::EditTriggerflags QAbstractItemView::EditTriggersThis enum describes actions which will initiate item原创 2013-01-21 15:52:14 · 8724 阅读 · 0 评论 -
Qt中QString,int,char,QByteArray之间相互转换
int 转 QStringint m=1;QString b;b=QString::number(m)QString 转intQString a="1111"int b;b=a.toInt()char 转换为 QStringchar a='b';QString str;str=QString(a);QString 转换为转载 2012-02-22 19:30:53 · 51779 阅读 · 1 评论 -
QT写文本文件(QTextStream 写文件)
依赖的头文件:#include #include #include 示例代码:QString sFilePath = "C:\\test.txt";QFile file(sFilePath);//方式:Append为追加,WriteOnly,ReadOnlyif (!file.open(QIODevice::WriteOnly|QIODevice::Text))原创 2011-08-22 16:45:18 · 39743 阅读 · 0 评论 -
科学技术法-正则表达式-QT
科学技术法-正则表达式-QT1.代码://正则表达式-科学技术法 支持:-1.5e+99 const QString RegExp_REAL = "[+-]?[\\d]+([\\.][\\d]*)?([Ee][+-]?[0-9]{0,2})?"; //正则表达式-整数类型 const QString REGEXP_INTEGER = "^-?[0-9]+$"; QLin原创 2012-12-27 16:33:51 · 7093 阅读 · 1 评论 -
QTreeWidgetItem 点击可编辑修改
QTreeWidgetItem* item = new QTreeWidgetItem(tree);// need to add editable flag, items are not editable by defaultitem->setFlags(item->flags() ¦ Qt::ItemIsEditable);tree->editItem(item, 0);不可修原创 2012-02-25 14:06:45 · 13670 阅读 · 1 评论 -
qt操作Excel com方式
//--------------------------------------------------------------------------------------------------void OExcelWnd::openExcel(){ excel = new QAxObject("Excel.Application"); excel->setProperty("Use原创 2012-11-06 13:15:43 · 3564 阅读 · 2 评论 -
递归算法在QT中的实现(QT遍历文件夹)
头文件:#include #include #include 示例程序://递归遍历文件夹,找到所有的dll文件,调用registerComFile(QString dllfilepath)函数//sComFilePath:要遍历的文件夹的文件名int PSM_ComRegister::searchDllFile(const QString& sCo原创 2011-08-23 10:39:19 · 5239 阅读 · 1 评论 -
QTableView根据内容自动调整列宽行高
QTableView根据内容自动调整列宽 行高根据内容自动调整某列的列宽void QTableView::resizeColumnToContents ( int column ) [slot]根据内容自动调整所有列的列宽void QTableView::resizeColumnsToContents () [slot]根据内容自动调整某一行的行高void原创 2012-03-05 14:46:42 · 16716 阅读 · 4 评论 -
QT DOM方式写入xml文件
依赖的头文件:#include #include #include #include #include 示例代码://写xml操作。sXmlFilePath:要写入的xml文件路径int CAppletGenerator::addTaskMenuTreeItem(QString sXmlFilePath){ QFile file(sXmlFileP原创 2011-08-22 17:03:18 · 10406 阅读 · 0 评论 -
QString和QByteArray的区别
最近在用Qt做串口数据收发方面的实验,经常用到像QString和QByteArray一类的字符处理类,因此在这里做一个总结,文章有点凌乱,希望见谅。先要说的是QString。之所以把QString单独拿出来,是因为string是很常用的一个数据结构,甚至在很多语言中,比如JavaScript,都是把string作为一种同int等一样的基本数据结构来实现的。每一个GUI程序都转载 2012-02-22 19:39:56 · 6688 阅读 · 0 评论 -
QT中使用DEBUG,cout,cin
如果想输出DEBUG信息:qDebug() << "Date:" << QDate::currentDate(); qDebug() << "Types:" << QString("String") << QChar('x') << QRect(0, 10, 50, 40); qDebug() 如果想使用,COUT/IN需要使用QTextStream的重载#include转载 2012-02-22 19:39:25 · 1610 阅读 · 0 评论 -
QT中如何进行DEBUG和使用cout,cin
如果想输出DEBUG信息: qDebug() << "Date:" << QDate::currentDate(); qDebug() << "Types:" << QString("String") << QChar('x') << QRect(0, 10, 50,转载 2011-10-09 08:57:02 · 1055 阅读 · 0 评论 -
XPath在QT中的使用(QXmlQuery读取XML文件)
最近一段时间和Xml文件算是干上了,先后用了QXmlStream、Dom、Dhtmlxtree、DhtmlXform方式读写Xml文件。昨天接到任务让用Xpath方式实现Xml读取。经过了解在QT中有QxmlQuery类用来实现XPath,接下来就说说这个东东!1.l原创 2011-08-03 17:50:17 · 12891 阅读 · 3 评论 -
QT获取系统当前时间
需要包含的头文件:#include源代码:QDateTime dt;QTime time;QDate date;dt.setTime(time.currentTime());dt.setDate(date.currentDate());QString原创 2011-08-26 20:38:56 · 16673 阅读 · 2 评论 -
QT调用Winrar软件压缩、解压缩时需要注意的情况
关于QT调用winrar软件,就是把winrar软件安装包下的WinRAR.exe程序拷贝到你的程序目录中,执行条cmd命令,关于怎么执行cmd命令的问题,请看我的上一篇日志:解决QProcess对象调用execute执行cmd命令不支持中文和空格的问题下面说说在调用原创 2011-09-20 10:09:04 · 7343 阅读 · 3 评论 -
QT读取ini配置文件(QSettings)
ini配置文件(smart.ini)格式:[common]workbench=c:\\work\\2.1头文件:#include #include 示例代码:QString sIniFilePath = m_sDir+"c原创 2011-08-23 10:27:03 · 7121 阅读 · 1 评论 -
QT DOM方式读取xml文件(QDomElement)
xml文件格式: 头文件:#include #include #include #include #include 示例代码://DOM方式查找在XML文件二级目录中是否有sItemName原创 2011-08-23 10:24:27 · 17830 阅读 · 0 评论 -
QTreeView设置行背景色(颜色) 交替(setAlternatingRowColors)
QTreeView 设置行背景色,QTreeView设置行背景色(行颜色)交替。使用原因:QTreeView的背景默认是一片空白的,这样在视觉上不美观。达到效果:如果要达到行背景色交替改变,隔一行颜色变化一下(下图2区域)涉及函数:void QTreeView:: setAlternatingRowColors ( bool enable );示原创 2012-02-23 10:39:25 · 9839 阅读 · 0 评论 -
The following error occured:These Qt version are inaccessible: qt in **
安装过qt打开vs2008会提示:The following error occured:These Qt version are inaccessible:qt in D:\QtMake sure that you have read access to all files in your Qt directories.1.method1:原创 2012-02-23 12:19:58 · 10735 阅读 · 1 评论 -
学习Qt的资源-网站、论坛、博客等
来自《零基础学Qt 4编程》一书的附录附录C Qt资源C.1 Qt 官方资源全球各大公司以及独立开发人员每天都在加入 Qt 的开发社区。他们已经认识到了Qt 的架构本身便可加快应用程序开发进度。这些开发人员,无论是想开发单平台软件、还是想开发跨平台软件,都可从 Qt 统一而直接的 API、强大的构建系统以及各种支持工具(例如 Qt Designer)中受益无穷。原创 2012-02-22 09:50:29 · 9372 阅读 · 4 评论 -
QTreeWidgetItem 设置背景色|背景颜色
QTreeWidgetItem* item//设置QTreeWidgetItem前面的复选框是否选中item->setCheckState(0, Qt::Unchecked);item->setCheckState(0, Qt::Checked);//设置QTreeWidgetItem是否处于选中,true时QTreeWidgetItem的背景色会别设置为浅灰色(默认背景色为白色)i原创 2012-02-22 15:33:01 · 11236 阅读 · 0 评论 -
必须要了解的QT特性!
1、signal和slot是必须理解的。否则看QT的帮助文档都成问题。2、QT的property特性倒不是必需的。不过看看,很有意思。3、QT由于是跨平台SDK。因此,它对event的处理并不像MFC或XAPI那样明显。但最好能对event filter有一个清晰的概念。这种filter机制可以把定制代码hook到具体的widget中,有时在简化编程上能起到巨大的作用。4、QObjec转载 2012-02-20 11:05:05 · 2079 阅读 · 0 评论 -
[Bug]QT解决中文乱码(tr的使用 | QTextCodec)
QT代码中使用了中文,会出现乱码,主要是未设置code类型。修改mian函数所在的cpp文件:一、添加include#include 二、main函数中添加代码int main(int argc, char **argv){ .................... QTextCodec::setCodecForTr(QTextCode原创 2012-02-22 19:30:05 · 6004 阅读 · 0 评论 -
QMessageBox中按钮汉化|确定,取消
1.方法一:QMessageBox mess(QMessageBox::Question, "删除提示", "确认删除所选组件?", NULL);QPushButton *okButton = mess.addButton(tr("确定"), QMessageBox::AcceptRole);QPushButton *cancelButton = mess.addButton(tr("取消原创 2012-02-22 19:32:46 · 5807 阅读 · 0 评论 -
QT中使用qDebug()在VS下的设置
想在QT程序中使用qDebug()首先要包含头文件:#include 然后:配置属性->C/C++ ->预处理器(第三项) ->预处理定义(第一项)在新的一行中添加 Console 就可以了。原创 2012-02-22 19:31:25 · 4521 阅读 · 0 评论 -
QComboBox使用方法,QComboBox详解
fromComboBox = QComboBox() 添加一个 comboboxfromComboBox.addItem(rates) 添加一个下拉选项fromComboBox.addItems(["%d years" % x for x in range(2, 26)]) 从序列中添加fromComboBox.setMaxVisibleItems(10) #设置最大显示下转载 2012-02-22 19:26:23 · 90634 阅读 · 1 评论 -
解决QProcess对象调用execute执行cmd命令不支持中文和空格的问题
在QT中要想执行调用cmd命令: 一种方式是使用system()函数,但是此函数没有返回值,有时不太方便, 另一种方法就是生成QProcess对象,调用其execute函数,有时当你用这个方法时,当cmd命令含有中文和空格时就不执行。下面来说说这个情况。原创 2011-09-20 09:26:48 · 16591 阅读 · 6 评论